diff --git a/entity/Address_entity/Address_entity.aod b/entity/Address_entity/Address_entity.aod
index 71b99fd88ce7171ecc70139e9084dae82fb8dc5c..c80ff8c1405b3548262889e8fd6b238118a0dd08 100644
--- a/entity/Address_entity/Address_entity.aod
+++ b/entity/Address_entity/Address_entity.aod
@@ -54,6 +54,7 @@
       <columnName>COUNTRY</columnName>
       <caption>Country</caption>
       <possibleItemsProcess>%aditoprj%/entity/Address_entity/entityfields/country/possibleItemsProcess.js</possibleItemsProcess>
+      <valueProcess>%aditoprj%/entity/Address_entity/entityfields/country/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>DATE_EDIT</name>
diff --git a/entity/Address_entity/entityfields/country/valueProcess.js b/entity/Address_entity/entityfields/country/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/entity/Appointment_entity/Appointment_entity.aod b/entity/Appointment_entity/Appointment_entity.aod
index 9992bec4e3286c3d8979615800f14ff4eda8ee2a..6831f1ee6393f67cb6fc4a3e028c550241b6f944 100644
--- a/entity/Appointment_entity/Appointment_entity.aod
+++ b/entity/Appointment_entity/Appointment_entity.aod
@@ -85,5 +85,11 @@
     <entityField>
       <name>REMINDER</name>
     </entityField>
+    <entityField>
+      <name>CATEGORIES</name>
+      <possibleItemsProcess>%aditoprj%/entity/Appointment_entity/entityfields/categories/possibleItemsProcess.js</possibleItemsProcess>
+      <newItemsAllowed v="true" />
+      <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/categories/valueProcess.js</valueProcess>
+    </entityField>
   </entityFields>
 </entity>
diff --git a/entity/Appointment_entity/contentProcess.js b/entity/Appointment_entity/contentProcess.js
index c09809b13798063ac9faa3f05d72d0e932534090..23c6e3df7033a902efa10e56541e8b6ce7ccd12d 100644
--- a/entity/Appointment_entity/contentProcess.js
+++ b/entity/Appointment_entity/contentProcess.js
@@ -23,8 +23,6 @@ if(vars.exists("$image.entry"))
     var reminder = entry[calendars.REMINDER];
     var remindercheck = entry[calendars.HASREMINDER]
     var classification = entry[calendars.CLASSIFICATION];
-    
-    logging.log("contentproc: entry location:" + location + " desc: " + description + " summary: " + summary);
   
     //@TODO Icon 
   
diff --git a/entity/Appointment_entity/entityfields/categories/possibleItemsProcess.js b/entity/Appointment_entity/entityfields/categories/possibleItemsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..e59b81e02e644ea2a579b7a2549605c4444c6206
--- /dev/null
+++ b/entity/Appointment_entity/entityfields/categories/possibleItemsProcess.js
@@ -0,0 +1,13 @@
+import("system.result");
+import("system.translate");
+import("system.calendars");
+
+var rawElements = calendars.getElementPrefs()[calendars.ELEM_CATEGORIES_EVENT];
+
+var resultName = [[]];
+
+for (var i = 0; i < rawElements.length; i++)
+{
+    resultName[i] = [translate.text(rawElements[i]), translate.text(rawElements[i])];
+}
+result.object(resultName);
\ No newline at end of file
diff --git a/entity/Appointment_entity/entityfields/categories/valueProcess.js b/entity/Appointment_entity/entityfields/categories/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..667d446691278be5a9d03c4bfe7edeee8a57f4db
--- /dev/null
+++ b/entity/Appointment_entity/entityfields/categories/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("system.vars");
+import("system.calendars");
+
+var categs = vars.get("$image.entry")[calendars.CATEGORIES];
+result.string(categs);
\ No newline at end of file
diff --git a/entity/Appointment_entity/onUpdate.js b/entity/Appointment_entity/onUpdate.js
index 95a51ce1a5fa1be923327bc52450619d7f5602d0..b5fa3598b9b7d448c896eb099f7605e181840bb2 100644
--- a/entity/Appointment_entity/onUpdate.js
+++ b/entity/Appointment_entity/onUpdate.js
@@ -62,7 +62,9 @@ if(vars.exists("$image.entry"))
             event[calendars.CLASSIFICATION] = vars.get("$field.CLASSIFICATION");
         //    event[calendars.TRANSPARENCY] = vars.get("$comp.transparency");  
             //event[calendars.AFFECTEDUSERS] = getAffectedUsers( event ); 
-        //    event[calendars.CATEGORIES] = vars.get("$comp.categories");
+            var categs = vars.get("$field.CATEGORIES");
+            logging.log(categs);
+            event[calendars.CATEGORIES] = categs;
         //    calcrecurrence(event);
         //    if (event[calendars.RRULE] != undefined)     recurrencend(event);
         // Links updaten
diff --git a/entity/Pers_entity/Pers_entity.aod b/entity/Pers_entity/Pers_entity.aod
index bbef94d586725593302110edba48ba29850db03a..91347c5f0e94416f5fe7fe12bfc336c7117b0234 100644
--- a/entity/Pers_entity/Pers_entity.aod
+++ b/entity/Pers_entity/Pers_entity.aod
@@ -240,6 +240,13 @@
         </entityParameter>
       </children>
     </entityOutgoingField>
+    <entityOutgoingField>
+      <name>PersAppointment_dfo</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+      </dependency>
+    </entityOutgoingField>
   </entityFields>
   <linkInformation>
     <linkInformation>
diff --git a/neonView/AppointmentEdit_view/AppointmentEdit_view.aod b/neonView/AppointmentEdit_view/AppointmentEdit_view.aod
index e43e16d39876dc085bb8d6514a52fdd29b260fbd..8b94f211fc1e3006a29edfa009da5fbc4f284556 100644
--- a/neonView/AppointmentEdit_view/AppointmentEdit_view.aod
+++ b/neonView/AppointmentEdit_view/AppointmentEdit_view.aod
@@ -19,6 +19,7 @@
       <privateField>CLASSIFICATION</privateField>
       <statusField>STATUS</statusField>
       <locationField>LOCATION</locationField>
+      <categoriesField>CATEGORIES</categoriesField>
       <entityField>#ENTITY</entityField>
     </appointmentEditViewTemplate>
   </children>
diff --git a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
index 8fcbb815aad5cead7402f24d249fc968f7af9e89..b058fa28a99b05b0a27a661cddafd164f5b48794 100644
--- a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
+++ b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
@@ -4,6 +4,34 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <projectName>xRM-Basic 5</projectName>
   <jditoMaxContentSize v="57671680" />
+  <calendarCategories>
+    <entry>
+      <key>Meeting</key>
+      <value></value>
+    </entry>
+    <entry>
+      <key>Privat</key>
+      <value></value>
+    </entry>
+    <entry>
+      <key>Organisatorisch</key>
+      <value></value>
+    </entry>
+  </calendarCategories>
+  <calendarCategoriesEvent>
+    <entry>
+      <key>MeetingEvent</key>
+      <value></value>
+    </entry>
+    <entry>
+      <key>PrivatEvent</key>
+      <value></value>
+    </entry>
+    <entry>
+      <key>OrganisatorischEvent</key>
+      <value></value>
+    </entry>
+  </calendarCategoriesEvent>
   <clientSearchOptimizedForSpeed v="true" />
   <clientSearchExcludeForIgnorecase v="true" />
   <blobHandlingMethod>DATABASE</blobHandlingMethod>