From 31f9d6905ec37d0688811848b3dd4fa336fd6e1a Mon Sep 17 00:00:00 2001
From: Johannes Hoermann <j.hoermann@adito.de>
Date: Tue, 25 Jun 2019 14:30:32 +0200
Subject: [PATCH] Support ticket: further implementations

---
 .../Ticketmanagement/create_Ticket_table.xml  |   1 +
 ...nd_new_status.xml => insertTaskStatus.xml} |  25 +--
 .../insertTicketAttributes_TaskType_Task.xml  | 105 +++++++-----
 .../Ticketmanagement/insert_TaskType_Task.xml | 128 ---------------
 .../insert_TaskType_Ticket.xml                |  14 ++
 .../Ticketmanagement/insert_TicketTypes.xml   |  51 ++++++
 .../Data_alias/basic/2019.1.4/changelog.xml   |   9 +-
 aliasDefinition/Data_alias/Data_alias.aod     |  14 ++
 .../_____SYSTEM_APPLICATION_NEON.aod          |   2 +-
 .../exclusivecontexts_param/valueProcess.js   |   2 +-
 .../KeywordEntry_entity.aod                   |  18 ++
 .../recordcontainers/db/conditionProcess.js   |   3 +
 .../SupportTicket_entity.aod}                 | 155 ++++++++++++------
 .../displaysimplename_param/valueProcess.js   |   0
 .../valueProcess.js                           |   5 +
 .../objectrowid_param/valueProcess.js         |   0
 .../children/objecttype_param/valueProcess.js |   4 +
 .../children/showempty_param/valueProcess.js  |   0
 .../entityfields/attributes/onValidation.js   |   0
 .../entityfields/attributes/stateProcess.js   |   4 +-
 .../entityfields/code/displayValueProcess.js  |   0
 .../entityfields/code/valueProcess.js         |   0
 .../assignmentrowid_param/valueProcess.js     |   0
 .../assignmenttable_param/valueProcess.js     |   0
 .../filteronlyownticket_param/valueProcess.js |   0
 .../containername_param/valueProcess.js       |   0
 .../containername_param/valueProcess.js       |   4 +
 .../containername_param/valueProcess.js       |   4 +
 .../whitelistids_param/valueProcess.js        |   6 +
 .../containername_param/valueProcess.js       |   4 +
 .../children/taskid_param/valueProcess.js     |   0
 .../children/tablenames_param/valueProcess.js |   0
 .../assignmentrowid_param/valueProcess.js     |   0
 .../assignmenttable_param/valueProcess.js     |   0
 .../maindocuments/stateProcess.js             |   0
 .../displayValueProcess.js                    |   0
 .../entityfields/task_id/valueProcess.js      |   0
 .../task_maturity_date/valueProcess.js        |   0
 .../task_priority/displayValueProcess.js      |   0
 .../task_priority/valueProcess.js             |   5 +-
 .../task_priority_icon/colorProcess.js        |   0
 .../task_priority_icon/valueProcess.js        |   0
 .../task_progress/displayValueProcess.js      |   0
 .../task_progress/valueProcess.js             |   0
 .../displayValueProcess.js                    |   0
 .../task_requestor_contact_id/valueProcess.js |   0
 .../task_start_date/valueProcess.js           |   0
 .../task_status/displayValueProcess.js        |   0
 .../entityfields/task_status/valueProcess.js  |   9 +
 .../task_subject_details/valueProcess.js      |   0
 .../entityfields/task_taskid/valueProcess.js  |   0
 .../entityfields/task_type/valueProcess.js    |   0
 .../entityfields/tickettype/valueProcess.js   |   8 +
 .../tickettype_param/valueProcess.js          |   4 +
 .../recordcontainers/db/conditionProcess.js   |   1 +
 .../recordcontainers/db/fromClauseProcess.js  |   0
 .../recordcontainers/db/onDBDelete.js         |   0
 .../recordcontainers/db/onDBInsert.js         |   0
 .../recordcontainers/db/orderClauseProcess.js |   0
 .../expression.js                             |   0
 .../priority.displayvalue/expression.js       |   0
 .../progress.displayvalue/expression.js       |   0
 .../expression.js                             |   0
 .../status.displayvalue/expression.js         |   0
 entity/TaskLink_entity/TaskLink_entity.aod    |   2 +-
 entity/Task_entity/Task_entity.aod            |   5 +
 .../whitelistids_param/valueProcess.js        |   9 +
 .../entityfields/status/valueProcess.js       |   8 +-
 .../valueProcess.js                           |   5 -
 .../children/objecttype_param/valueProcess.js |   4 -
 .../entityfields/task_status/valueProcess.js  |  13 --
 .../SupportTicket.aod}                        |  20 +--
 .../SupportTicketEdit_view.aod}               |   2 +-
 .../SupportTicketFilter_view.aod}             |   2 +-
 .../SupportTicketMain_view.aod}               |   4 +-
 .../SupportTicketPreview_view.aod}            |   2 +-
 process/ActivityTask_lib/process.js           |  30 ----
 process/KeywordData_lib/process.js            |   3 +-
 process/KeywordRegistry_basic/process.js      |  13 +-
 process/Ticket_lib/Ticket_lib.aod             |   9 +
 process/Ticket_lib/process.js                 | 111 +++++++++++++
 81 files changed, 509 insertions(+), 318 deletions(-)
 rename .liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/{update_TaskStatus_add_icon_and_new_status.xml => insertTaskStatus.xml} (89%)
 delete mode 100644 .liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insert_TaskType_Task.xml
 create mode 100644 .liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insert_TaskType_Ticket.xml
 create mode 100644 .liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insert_TicketTypes.xml
 rename entity/{Ticket_entity/Ticket_entity.aod => SupportTicket_entity/SupportTicket_entity.aod} (53%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/attributes/children/displaysimplename_param/valueProcess.js (100%)
 create mode 100644 entity/SupportTicket_entity/entityfields/attributes/children/filteredattributeids_param/valueProcess.js
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/attributes/children/objectrowid_param/valueProcess.js (100%)
 create mode 100644 entity/SupportTicket_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/attributes/children/showempty_param/valueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/attributes/onValidation.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/attributes/stateProcess.js (65%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/code/displayValueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/code/valueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/documents/children/assignmentrowid_param/valueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/documents/children/assignmenttable_param/valueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/filteronlyownticket_param/valueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/keywordprogress/children/containername_param/valueProcess.js (100%)
 create mode 100644 entity/SupportTicket_entity/entityfields/keywordtaskpriority/children/containername_param/valueProcess.js
 create mode 100644 entity/SupportTicket_entity/entityfields/keywordtaskstate/children/containername_param/valueProcess.js
 create mode 100644 entity/SupportTicket_entity/entityfields/keywordtaskstate/children/whitelistids_param/valueProcess.js
 create mode 100644 entity/SupportTicket_entity/entityfields/keywordtickettype/children/containername_param/valueProcess.js
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/links/children/taskid_param/valueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/loghistories/children/tablenames_param/valueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/maindocuments/children/assignmentrowid_param/valueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/maindocuments/children/assignmenttable_param/valueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/maindocuments/stateProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/task_editor_contact_id/displayValueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/task_id/valueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/task_maturity_date/valueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/task_priority/displayValueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/task_priority/valueProcess.js (54%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/task_priority_icon/colorProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/task_priority_icon/valueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/task_progress/displayValueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/task_progress/valueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/task_requestor_contact_id/displayValueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/task_requestor_contact_id/valueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/task_start_date/valueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/task_status/displayValueProcess.js (100%)
 create mode 100644 entity/SupportTicket_entity/entityfields/task_status/valueProcess.js
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/task_subject_details/valueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/task_taskid/valueProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/entityfields/task_type/valueProcess.js (100%)
 create mode 100644 entity/SupportTicket_entity/entityfields/tickettype/valueProcess.js
 create mode 100644 entity/SupportTicket_entity/entityfields/tickettype_param/valueProcess.js
 rename entity/{Ticket_entity => SupportTicket_entity}/recordcontainers/db/conditionProcess.js (95%)
 rename entity/{Ticket_entity => SupportTicket_entity}/recordcontainers/db/fromClauseProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/recordcontainers/db/onDBDelete.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/recordcontainers/db/onDBInsert.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/recordcontainers/db/orderClauseProcess.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/recordcontainers/db/recordfieldmappings/editor_contact_id.displayvalue/expression.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/recordcontainers/db/recordfieldmappings/priority.displayvalue/expression.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/recordcontainers/db/recordfieldmappings/progress.displayvalue/expression.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/recordcontainers/db/recordfieldmappings/requestor_contact_id.displayvalue/expression.js (100%)
 rename entity/{Ticket_entity => SupportTicket_entity}/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js (100%)
 create mode 100644 entity/Task_entity/entityfields/keywordstates/children/whitelistids_param/valueProcess.js
 delete mode 100644 entity/Ticket_entity/entityfields/attributes/children/filteredattributeids_param/valueProcess.js
 delete mode 100644 entity/Ticket_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
 delete mode 100644 entity/Ticket_entity/entityfields/task_status/valueProcess.js
 rename neonContext/{Ticket/Ticket.aod => SupportTicket/SupportTicket.aod} (64%)
 rename neonView/{TicketEdit_view/TicketEdit_view.aod => SupportTicketEdit_view/SupportTicketEdit_view.aod} (98%)
 rename neonView/{TicketFilter_view/TicketFilter_view.aod => SupportTicketFilter_view/SupportTicketFilter_view.aod} (99%)
 rename neonView/{TicketMain_view/TicketMain_view.aod => SupportTicketMain_view/SupportTicketMain_view.aod} (95%)
 rename neonView/{TicketPreview_view/TicketPreview_view.aod => SupportTicketPreview_view/SupportTicketPreview_view.aod} (98%)
 create mode 100644 process/Ticket_lib/Ticket_lib.aod
 create mode 100644 process/Ticket_lib/process.js

diff --git a/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/create_Ticket_table.xml b/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/create_Ticket_table.xml
index cbc82f51cf..482fbf6fc9 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/create_Ticket_table.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/create_Ticket_table.xml
@@ -9,6 +9,7 @@
                 <constraints nullable="false" unique="true"/>
             </column>
             <column name="CODE" type="INTEGER"/>
+            <column name="TICKETTYPE" type="CHAR(36)"/>
         </createTable>
         
         <dropColumn tableName="TASK" columnName="CODE"/>
diff --git a/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/update_TaskStatus_add_icon_and_new_status.xml b/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insertTaskStatus.xml
similarity index 89%
rename from .liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/update_TaskStatus_add_icon_and_new_status.xml
rename to .liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insertTaskStatus.xml
index a81bbfd8c7..627af2f686 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/update_TaskStatus_add_icon_and_new_status.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insertTaskStatus.xml
@@ -1,6 +1,6 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
-<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <changeSet author="j.hoermann" id="d1440b93-e01c-406b-9f0d-c55cac877fcd">
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <changeSet author="j.hoermann" id="6e154b73-f025-4072-9fe0-12ab39abebec">
         <insert tableName="AB_KEYWORD_ATTRIBUTE">
             <column name="AB_KEYWORD_ATTRIBUTEID" value="472f9bc2-3331-49f9-aba2-72d5eeb89654"/>
             <column name="NAME" value="icon"/>
@@ -11,6 +11,7 @@
         <!-- new -->
         <update tableName="AB_KEYWORD_ENTRY">
             <column name="SORTING" valueNumeric="10"/>
+            <column name="KEYID" value="NEW"/>
             <where>AB_KEYWORD_ENTRYID = '6ab0cc9e-021c-42ef-abfd-f9f7a58aa76c'</where>
         </update>
         <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
@@ -23,7 +24,7 @@
         <!-- unassigned -->
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="0b06db5c-1d00-4d01-b8a9-f280a4f69cbc"/>
-            <column name="KEYID" value="38cfe962-5842-4c7d-9e7f-a26ab0578321"/>
+            <column name="KEYID" value="UNASSIGNED"/>
             <column name="TITLE" value="unassigned"/>
             <column name="CONTAINER" value="TaskStatus"/>
             <column name="SORTING" valueNumeric="20"/>
@@ -40,7 +41,7 @@
         <!-- assigned -->
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="1061168a-4b17-4ba5-be70-948c0dd78f20"/>
-            <column name="KEYID" value="e20fd681-b5ff-4d7e-a62b-16f949aa0486"/>
+            <column name="KEYID" value="ASSIGNED"/>
             <column name="TITLE" value="assigned"/>
             <column name="CONTAINER" value="TaskStatus"/>
             <column name="SORTING" valueNumeric="30"/>
@@ -54,9 +55,11 @@
             <column name="CHAR_VALUE" value="NEON:STATUS_NOT_STARTED"/>
         </insert>
         
-        <!-- in process -->
+        <!-- in progress -->
         <update tableName="AB_KEYWORD_ENTRY">
             <column name="SORTING" valueNumeric="40"/>
+            <column name="KEYID" value="IN-PROGRESS"/>
+            <column name="TITLE" value="in progress"/>
             <where>AB_KEYWORD_ENTRYID = '6a479d71-2c05-4496-9c6c-c9aeef929bcf'</where>
         </update>
         <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
@@ -69,6 +72,7 @@
         <!-- waiting -->
         <update tableName="AB_KEYWORD_ENTRY">
             <column name="SORTING" valueNumeric="50"/>
+            <column name="KEYID" value="WAITING"/>
             <where>AB_KEYWORD_ENTRYID = '34701d4d-7435-43bc-8b2f-ad2a70065a75'</where>
         </update>
         <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
@@ -81,6 +85,7 @@
         <!-- ended -->
         <update tableName="AB_KEYWORD_ENTRY">
             <column name="SORTING" valueNumeric="60"/>
+            <column name="KEYID" value="ENDED"/>
             <where>AB_KEYWORD_ENTRYID = '7311d8c5-edf2-492e-be4d-6f0469334611'</where>
         </update>
         <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
@@ -93,7 +98,7 @@
         <!-- ended (done) -->
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="890a7832-f06f-4e51-8744-73aa8ddea4f8"/>
-            <column name="KEYID" value="91869bd5-ec33-4dcc-a86c-ae55b75538a0"/>
+            <column name="KEYID" value="ENDED-DONE"/>
             <column name="TITLE" value="ended (done)"/>
             <column name="CONTAINER" value="TaskStatus"/>
             <column name="SORTING" valueNumeric="70"/>
@@ -110,7 +115,7 @@
         <!-- ended (abandoned) -->
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="a5b50ba3-0fb9-4fbe-9e98-4d6c53b329af"/>
-            <column name="KEYID" value="bfd2af05-83b4-4000-99b1-ed680dca4965"/>
+            <column name="KEYID" value="ENDED-ABANDONED"/>
             <column name="TITLE" value="ended (abandoned)"/>
             <column name="CONTAINER" value="TaskStatus"/>
             <column name="SORTING" valueNumeric="80"/>
@@ -127,7 +132,7 @@
         <!-- still incorrect -->
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="9d4cdd61-9f6a-46e1-bef0-eaf16613aea5"/>
-            <column name="KEYID" value="cfbc9e01-2530-472a-9cd1-466c62dcbebf"/>
+            <column name="KEYID" value="STILL-INCORRECT"/>
             <column name="TITLE" value="still incorrect"/>
             <column name="CONTAINER" value="TaskStatus"/>
             <column name="SORTING" valueNumeric="90"/>
@@ -144,7 +149,7 @@
         <!-- customer checks -->
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="2f742253-c287-40ab-838f-ec797a16fdce"/>
-            <column name="KEYID" value="4a3ae1ca-35f0-404b-bde5-f13987be8421"/>
+            <column name="KEYID" value="CUSTOMER-CHECKS"/>
             <column name="TITLE" value="customer checks"/>
             <column name="CONTAINER" value="TaskStatus"/>
             <column name="SORTING" valueNumeric="100"/>
@@ -158,4 +163,4 @@
             <column name="CHAR_VALUE" value="NEON:STATUS_WAITING"/>
         </insert>
     </changeSet>
-</databaseChangeLog>
\ No newline at end of file
+</databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insertTicketAttributes_TaskType_Task.xml b/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insertTicketAttributes_TaskType_Task.xml
index 9a1e4f3e23..ea033feecb 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insertTicketAttributes_TaskType_Task.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insertTicketAttributes_TaskType_Task.xml
@@ -14,7 +14,7 @@
       <column name="AB_ATTRIBUTEID" value="ff8b1caf-cf30-4edb-b5ca-a9a219ba8399"/>
       <column name="ATTRIBUTE_PARENT_ID" value="753d9c44-58d2-40b5-b981-cd0ab15dddc2"/>
       <column name="ATTRIBUTE_TYPE" value="GROUP                               "/>
-      <column name="ATTRIBUTE_NAME" value="Reklamation"/>
+      <column name="ATTRIBUTE_NAME" value="Support"/>
       <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
       <column name="DROPDOWNDEFINITION"/>
       <column name="ATTRIBUTE_INFO"/>
@@ -24,7 +24,7 @@
       <column name="AB_ATTRIBUTEID" value="92dde095-1b3a-4e90-9a90-1947d3e5d734"/>
       <column name="ATTRIBUTE_PARENT_ID" value="ff8b1caf-cf30-4edb-b5ca-a9a219ba8399"/>
       <column name="ATTRIBUTE_TYPE" value="COMBO                               "/>
-      <column name="ATTRIBUTE_NAME" value="Regulierung"/>
+      <column name="ATTRIBUTE_NAME" value="Type"/>
       <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
       <column name="DROPDOWNDEFINITION"/>
       <column name="ATTRIBUTE_INFO"/>
@@ -34,7 +34,7 @@
       <column name="AB_ATTRIBUTEID" value="72bcad07-6f26-48c0-84b0-1e6ab46d88a9"/>
       <column name="ATTRIBUTE_PARENT_ID" value="92dde095-1b3a-4e90-9a90-1947d3e5d734"/>
       <column name="ATTRIBUTE_TYPE" value="COMBOVALUE                          "/>
-      <column name="ATTRIBUTE_NAME" value="Vollberechnung"/>
+      <column name="ATTRIBUTE_NAME" value="Issue"/>
       <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
       <column name="DROPDOWNDEFINITION"/>
       <column name="ATTRIBUTE_INFO"/>
@@ -44,7 +44,7 @@
       <column name="AB_ATTRIBUTEID" value="02e77970-3ea4-4fff-9ffa-099746b5f3c8"/>
       <column name="ATTRIBUTE_PARENT_ID" value="92dde095-1b3a-4e90-9a90-1947d3e5d734"/>
       <column name="ATTRIBUTE_TYPE" value="COMBOVALUE                          "/>
-      <column name="ATTRIBUTE_NAME" value="Teilberechnung"/>
+      <column name="ATTRIBUTE_NAME" value="Feature"/>
       <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
       <column name="DROPDOWNDEFINITION"/>
       <column name="ATTRIBUTE_INFO"/>
@@ -54,7 +54,7 @@
       <column name="AB_ATTRIBUTEID" value="abc52bbb-047c-405c-9d58-c2e8ac8eb585"/>
       <column name="ATTRIBUTE_PARENT_ID" value="92dde095-1b3a-4e90-9a90-1947d3e5d734"/>
       <column name="ATTRIBUTE_TYPE" value="COMBOVALUE                          "/>
-      <column name="ATTRIBUTE_NAME" value="Kulanz"/>
+      <column name="ATTRIBUTE_NAME" value="Consultation"/>
       <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
       <column name="DROPDOWNDEFINITION"/>
       <column name="ATTRIBUTE_INFO"/>
@@ -65,7 +65,7 @@
       <column name="AB_ATTRIBUTEID" value="1881ffcd-bbf1-443c-b379-a08f7bb92b88"/>
       <column name="ATTRIBUTE_PARENT_ID" value="ff8b1caf-cf30-4edb-b5ca-a9a219ba8399"/>
       <column name="ATTRIBUTE_TYPE" value="COMBO                               "/>
-      <column name="ATTRIBUTE_NAME" value="Schadensart"/>
+      <column name="ATTRIBUTE_NAME" value="Modul group"/>
       <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
       <column name="DROPDOWNDEFINITION"/>
       <column name="ATTRIBUTE_INFO"/>
@@ -75,7 +75,7 @@
       <column name="AB_ATTRIBUTEID" value="6d0cce07-4767-477b-af51-e9782ebdbe25"/>
       <column name="ATTRIBUTE_PARENT_ID" value="1881ffcd-bbf1-443c-b379-a08f7bb92b88"/>
       <column name="ATTRIBUTE_TYPE" value="COMBOVALUE                          "/>
-      <column name="ATTRIBUTE_NAME" value="Transportschaden"/>
+      <column name="ATTRIBUTE_NAME" value="Product"/>
       <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
       <column name="DROPDOWNDEFINITION"/>
       <column name="ATTRIBUTE_INFO"/>
@@ -85,7 +85,7 @@
       <column name="AB_ATTRIBUTEID" value="ed3c22a4-3fa1-4c7c-a564-938f3975af94"/>
       <column name="ATTRIBUTE_PARENT_ID" value="1881ffcd-bbf1-443c-b379-a08f7bb92b88"/>
       <column name="ATTRIBUTE_TYPE" value="COMBOVALUE                          "/>
-      <column name="ATTRIBUTE_NAME" value="Qualitätsbeanstandung"/>
+      <column name="ATTRIBUTE_NAME" value="Maintenance"/>
       <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
       <column name="DROPDOWNDEFINITION"/>
       <column name="ATTRIBUTE_INFO"/>
@@ -95,7 +95,7 @@
       <column name="AB_ATTRIBUTEID" value="ace7805c-961f-4412-b3a6-7c89f27e1f6b"/>
       <column name="ATTRIBUTE_PARENT_ID" value="1881ffcd-bbf1-443c-b379-a08f7bb92b88"/>
       <column name="ATTRIBUTE_TYPE" value="COMBOVALUE                          "/>
-      <column name="ATTRIBUTE_NAME" value="fehlerhafte Lieferung"/>
+      <column name="ATTRIBUTE_NAME" value="Interfaces"/>
       <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
       <column name="DROPDOWNDEFINITION"/>
       <column name="ATTRIBUTE_INFO"/>
@@ -105,7 +105,7 @@
       <column name="AB_ATTRIBUTEID" value="cf617db8-b4a4-4596-9f16-d1c58f0024d1"/>
       <column name="ATTRIBUTE_PARENT_ID" value="1881ffcd-bbf1-443c-b379-a08f7bb92b88"/>
       <column name="ATTRIBUTE_TYPE" value="COMBOVALUE                          "/>
-      <column name="ATTRIBUTE_NAME" value="unvollständige Lieferung"/>
+      <column name="ATTRIBUTE_NAME" value="Questions"/>
       <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
       <column name="DROPDOWNDEFINITION"/>
       <column name="ATTRIBUTE_INFO"/>
@@ -113,43 +113,66 @@
     </insert>
     
     <insert tableName="AB_ATTRIBUTE">
-      <column name="AB_ATTRIBUTEID" value="01d761e0-802a-46d0-827f-b6ca5d9a2148"/>
-      <column name="ATTRIBUTE_PARENT_ID" value="753d9c44-58d2-40b5-b981-cd0ab15dddc2"/>
-      <column name="ATTRIBUTE_TYPE" value="GROUP                               "/>
-      <column name="ATTRIBUTE_NAME" value="Support Ticket"/>
+      <column name="AB_ATTRIBUTEID" value="af312508-8a9b-4b8f-88f3-6b98005c749e"/>
+      <column name="ATTRIBUTE_PARENT_ID" value="ff8b1caf-cf30-4edb-b5ca-a9a219ba8399"/>
+      <column name="ATTRIBUTE_TYPE" value="OBJECTSELECTION                     "/>
+      <column name="ATTRIBUTE_NAME" value="Product"/>
+      <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+      <column name="DROPDOWNDEFINITION" value="Product"/>
+      <column name="ATTRIBUTE_INFO"/>
+      <column name="SORTING" valueNumeric="3"/>
+    </insert>
+    
+    <insert tableName="AB_ATTRIBUTE">
+      <column name="AB_ATTRIBUTEID" value="0b6d18e3-f6c8-488f-80e0-267364e444da"/>
+      <column name="ATTRIBUTE_PARENT_ID" value="ff8b1caf-cf30-4edb-b5ca-a9a219ba8399"/>
+      <column name="ATTRIBUTE_TYPE" value="COMBO                               "/>
+      <column name="ATTRIBUTE_NAME" value="Cause"/>
+      <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+      <column name="DROPDOWNDEFINITION"/>
+      <column name="ATTRIBUTE_INFO"/>
+      <column name="SORTING" valueNumeric="4"/>
+    </insert>
+    <insert tableName="AB_ATTRIBUTE">
+      <column name="AB_ATTRIBUTEID" value="0385b6e3-00cc-4018-847f-152364c3c11e"/>
+      <column name="ATTRIBUTE_PARENT_ID" value="0b6d18e3-f6c8-488f-80e0-267364e444da"/>
+      <column name="ATTRIBUTE_TYPE" value="COMBOVALUE                          "/>
+      <column name="ATTRIBUTE_NAME" value="User error"/>
+      <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+      <column name="DROPDOWNDEFINITION"/>
+      <column name="ATTRIBUTE_INFO"/>
+      <column name="SORTING" valueNumeric="1"/>
+    </insert>
+    <insert tableName="AB_ATTRIBUTE">
+      <column name="AB_ATTRIBUTEID" value="9b4f4b19-83b0-48f6-91e9-43804d5fd1a4"/>
+      <column name="ATTRIBUTE_PARENT_ID" value="0b6d18e3-f6c8-488f-80e0-267364e444da"/>
+      <column name="ATTRIBUTE_TYPE" value="COMBOVALUE                          "/>
+      <column name="ATTRIBUTE_NAME" value="Assembly"/>
       <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
       <column name="DROPDOWNDEFINITION"/>
       <column name="ATTRIBUTE_INFO"/>
       <column name="SORTING" valueNumeric="2"/>
     </insert>
+    <insert tableName="AB_ATTRIBUTE">
+      <column name="AB_ATTRIBUTEID" value="48da5029-b984-4809-8227-fb430bb78920"/>
+      <column name="ATTRIBUTE_PARENT_ID" value="0b6d18e3-f6c8-488f-80e0-267364e444da"/>
+      <column name="ATTRIBUTE_TYPE" value="COMBOVALUE                          "/>
+      <column name="ATTRIBUTE_NAME" value="Delivery problems"/>
+      <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+      <column name="DROPDOWNDEFINITION"/>
+      <column name="ATTRIBUTE_INFO"/>
+      <column name="SORTING" valueNumeric="3"/>
+    </insert>
     
-    <insert tableName="AB_ATTRIBUTEUSAGE">
-      <column name="AB_ATTRIBUTEUSAGEID" value="a1154583-ccc0-45f0-8a39-4fbfa29c6a41"/>
-      <column name="AB_ATTRIBUTE_ID" value="753d9c44-58d2-40b5-b981-cd0ab15dddc2"/>
-      <column name="OBJECT_TYPE" value="Task"/>
-      <column name="MIN_COUNT"/>
-      <column name="MAX_COUNT"/>
-    </insert>
-    <insert tableName="AB_ATTRIBUTEUSAGE">
-      <column name="AB_ATTRIBUTEUSAGEID" value="382b1619-7939-4b7d-9571-3f340cb62c56"/>
-      <column name="AB_ATTRIBUTE_ID" value="ff8b1caf-cf30-4edb-b5ca-a9a219ba8399"/>
-      <column name="OBJECT_TYPE" value="Task"/>
-      <column name="MIN_COUNT"/>
-      <column name="MAX_COUNT"/>
-    </insert>
-    <insert tableName="AB_ATTRIBUTEUSAGE">
-      <column name="AB_ATTRIBUTEUSAGEID" value="42216075-f7aa-45a4-914f-3d7b5995ecfe"/>
-      <column name="AB_ATTRIBUTE_ID" value="92dde095-1b3a-4e90-9a90-1947d3e5d734"/>
-      <column name="OBJECT_TYPE" value="Task"/>
-      <column name="MIN_COUNT"/>
-      <column name="MAX_COUNT"/>
-    </insert>
-    <insert tableName="AB_ATTRIBUTEUSAGE">
-      <column name="AB_ATTRIBUTEUSAGEID" value="19669ecc-ffd7-4f25-be6a-5b33372d77b6"/>
-      <column name="AB_ATTRIBUTE_ID" value="1881ffcd-bbf1-443c-b379-a08f7bb92b88"/>
-      <column name="OBJECT_TYPE" value="Task"/>
-      <column name="MIN_COUNT"/>
-      <column name="MAX_COUNT"/>
+    <insert tableName="AB_ATTRIBUTE">
+      <column name="AB_ATTRIBUTEID" value="a4c2bcc5-5a3d-4a70-b936-9a330329c63a"/>
+      <column name="ATTRIBUTE_PARENT_ID" value="ff8b1caf-cf30-4edb-b5ca-a9a219ba8399"/>
+      <column name="ATTRIBUTE_TYPE" value="BOOLEAN                             "/>
+      <column name="ATTRIBUTE_NAME" value="Billable"/>
+      <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+      <column name="DROPDOWNDEFINITION"/>
+      <column name="ATTRIBUTE_INFO"/>
+      <column name="SORTING" valueNumeric="5"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insert_TaskType_Task.xml b/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insert_TaskType_Task.xml
deleted file mode 100644
index 82f7e4d652..0000000000
--- a/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insert_TaskType_Task.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version="1.1" encoding="UTF-8" standalone="no"?>
-<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <changeSet author="j.hoermann" id="d1440b93-e01c-406b-9f0d-c55cac877fcd">          
-        <insert tableName="AB_KEYWORD_ATTRIBUTE">
-            <column name="AB_KEYWORD_ATTRIBUTEID" value="e8e3e2e9-8cce-4582-a71b-7f66593c7ade"/>
-            <column name="NAME" value="group"/>
-            <column name="CONTAINER" value="TaskType"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTE">
-            <column name="AB_KEYWORD_ATTRIBUTEID" value="af6a0af9-0102-426b-a1f7-c8abfea79793"/>
-            <column name="NAME" value="attributes"/>
-            <column name="CONTAINER" value="TaskType"/>
-            <column name="TYPE" value="LONG_CHAR_VALUE"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTE">
-            <column name="AB_KEYWORD_ATTRIBUTEID" value="6f10015d-b7ee-43aa-99f9-87960ec2e4fd"/>
-            <column name="NAME" value="availableStatus"/>
-            <column name="CONTAINER" value="TaskType"/>
-            <column name="TYPE" value="LONG_CHAR_VALUE"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTE">
-            <column name="AB_KEYWORD_ATTRIBUTEID" value="729a41d1-0463-480d-bf7b-0eb6c2e96f37"/>
-            <column name="NAME" value="defaultStatus"/>
-            <column name="CONTAINER" value="TaskType"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTE">
-            <column name="AB_KEYWORD_ATTRIBUTEID" value="9ac96671-b519-488b-bbad-6dea3e5baafd"/>
-            <column name="NAME" value="showCode"/>
-            <column name="CONTAINER" value="TaskType"/>
-            <column name="TYPE" value="BOOL_VALUE"/>
-        </insert>
-        
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="1eef7882-90eb-4c5b-a01a-c6cf1ea7a82b"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9e30365b-a9a6-4b57-ae6b-140c9e5a4eb4"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8e3e2e9-8cce-4582-a71b-7f66593c7ade"/>
-            <column name="CHAR_VALUE" value="Task"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="cd293e92-224f-4bc3-9552-b3f7caa95c99"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9e30365b-a9a6-4b57-ae6b-140c9e5a4eb4"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="9ac96671-b519-488b-bbad-6dea3e5baafd"/>
-            <column name="BOOL_VALUE" valueNumeric="0"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="17afe435-c498-45f7-8a16-50d50b78926a"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9e30365b-a9a6-4b57-ae6b-140c9e5a4eb4"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f10015d-b7ee-43aa-99f9-87960ec2e4fd"/>
-            <column name="LONG_CHAR_VALUE" value="[&quot;21bc4d20-1a87-4247-8f7c-8d3a09631850&quot;, &quot;b1fd456f-f5d2-459e-b467-76e2914c8169&quot;, &quot;00595a73-22e2-4c3b-a21c-06bdec262d20&quot;, &quot;7c9d6681-6cf5-4395-b276-3941b6fd0d57&quot;]"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="169edc60-5bad-45eb-b938-46a47b10a0a3"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9e30365b-a9a6-4b57-ae6b-140c9e5a4eb4"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="729a41d1-0463-480d-bf7b-0eb6c2e96f37"/>
-            <column name="CHAR_VALUE" value="21bc4d20-1a87-4247-8f7c-8d3a09631850"/>
-        </insert>
-        
-        <insert tableName="AB_KEYWORD_ENTRY">
-            <column name="AB_KEYWORD_ENTRYID" value="2ef84e0e-988a-44b4-9d14-3461555d2f18"/>
-            <column name="KEYID" value="f3da0edd-49d9-4061-98c1-8fda8631be7e"/>
-            <column name="TITLE" value="Ticket"/>
-            <column name="CONTAINER" value="TaskType"/>
-            <column name="SORTING" valueNumeric="1"/>
-            <column name="ISACTIVE" valueNumeric="1"/>
-            <column name="ISESSENTIAL" valueNumeric="1"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="ca8e16d4-0bae-45e7-a288-0f8a846193f1"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="2ef84e0e-988a-44b4-9d14-3461555d2f18"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8e3e2e9-8cce-4582-a71b-7f66593c7ade"/>
-            <column name="CHAR_VALUE" value="Ticket"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="fa35bb8d-1aa6-47fd-a674-0fdb7c838ddd"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="2ef84e0e-988a-44b4-9d14-3461555d2f18"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="af6a0af9-0102-426b-a1f7-c8abfea79793"/>
-            <column name="LONG_CHAR_VALUE" value="[&quot;ff8b1caf-cf30-4edb-b5ca-a9a219ba8399&quot;]"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="9b4f5103-be45-4f71-b841-c3e19cc19786"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="2ef84e0e-988a-44b4-9d14-3461555d2f18"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f10015d-b7ee-43aa-99f9-87960ec2e4fd"/>
-            <column name="LONG_CHAR_VALUE" value="[&quot;21bc4d20-1a87-4247-8f7c-8d3a09631850&quot;, &quot;b1fd456f-f5d2-459e-b467-76e2914c8169&quot;, &quot;00595a73-22e2-4c3b-a21c-06bdec262d20&quot;, &quot;7c9d6681-6cf5-4395-b276-3941b6fd0d57&quot;]"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="4cabba92-fa98-42c8-aabb-8bff718c1502"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="2ef84e0e-988a-44b4-9d14-3461555d2f18"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="729a41d1-0463-480d-bf7b-0eb6c2e96f37"/>
-            <column name="CHAR_VALUE" value="21bc4d20-1a87-4247-8f7c-8d3a09631850"/>
-        </insert>
-        
-        <insert tableName="AB_KEYWORD_ENTRY">
-            <column name="AB_KEYWORD_ENTRYID" value="9d326a2a-923c-41de-adb9-b0f86417e7c2"/>
-            <column name="KEYID" value="7bf77721-470f-4cdf-a6af-452bf05a405b"/>
-            <column name="TITLE" value="Support ticket"/>
-            <column name="CONTAINER" value="TaskType"/>
-            <column name="SORTING" valueNumeric="2"/>
-            <column name="ISACTIVE" valueNumeric="1"/>
-            <column name="ISESSENTIAL" valueNumeric="1"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="6e54c8f3-f24b-411f-a3e3-eba878fdaa1b"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9d326a2a-923c-41de-adb9-b0f86417e7c2"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8e3e2e9-8cce-4582-a71b-7f66593c7ade"/>
-            <column name="CHAR_VALUE" value="Ticket"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="7f1bed92-7158-4c89-b811-85dea257fa6a"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9d326a2a-923c-41de-adb9-b0f86417e7c2"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="af6a0af9-0102-426b-a1f7-c8abfea79793"/>
-            <column name="LONG_CHAR_VALUE" value="[]"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="2878a3ac-83a3-4e19-be73-da5db8d78375"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9d326a2a-923c-41de-adb9-b0f86417e7c2"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f10015d-b7ee-43aa-99f9-87960ec2e4fd"/>
-            <column name="LONG_CHAR_VALUE" value="[&quot;38cfe962-5842-4c7d-9e7f-a26ab0578321&quot;, &quot;e20fd681-b5ff-4d7e-a62b-16f949aa0486&quot;, &quot;b1fd456f-f5d2-459e-b467-76e2914c8169&quot;, &quot;00595a73-22e2-4c3b-a21c-06bdec262d20&quot;, &quot;91869bd5-ec33-4dcc-a86c-ae55b75538a0&quot;, &quot;bfd2af05-83b4-4000-99b1-ed680dca4965&quot;, &quot;cfbc9e01-2530-472a-9cd1-466c62dcbebf&quot;, &quot;4a3ae1ca-35f0-404b-bde5-f13987be8421&quot;]"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="b7d946e4-3644-4f97-96cb-f2331fc3aa1e"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9d326a2a-923c-41de-adb9-b0f86417e7c2"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="729a41d1-0463-480d-bf7b-0eb6c2e96f37"/>
-            <column name="CHAR_VALUE" value="38cfe962-5842-4c7d-9e7f-a26ab0578321"/>
-        </insert>
-    </changeSet>
-</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insert_TaskType_Ticket.xml b/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insert_TaskType_Ticket.xml
new file mode 100644
index 0000000000..cb3fc74017
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insert_TaskType_Ticket.xml
@@ -0,0 +1,14 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <changeSet author="j.hoermann" id="d1440b93-e01c-406b-9f0d-c55cac877fcd">                  
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="2ef84e0e-988a-44b4-9d14-3461555d2f18"/>
+            <column name="KEYID" value="f3da0edd-49d9-4061-98c1-8fda8631be7e"/>
+            <column name="TITLE" value="Ticket"/>
+            <column name="CONTAINER" value="TaskType"/>
+            <column name="SORTING" valueNumeric="1"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="1"/>
+        </insert>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insert_TicketTypes.xml b/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insert_TicketTypes.xml
new file mode 100644
index 0000000000..5f2ac9ffa2
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insert_TicketTypes.xml
@@ -0,0 +1,51 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <changeSet author="j.hoermann" id="aaa7c634-9196-42e7-a65b-954c2a0bed5b">                  
+        <insert tableName="AB_KEYWORD_ATTRIBUTE">
+            <column name="AB_KEYWORD_ATTRIBUTEID" value="af6a0af9-0102-426b-a1f7-c8abfea79793"/>
+            <column name="NAME" value="attributes"/>
+            <column name="CONTAINER" value="TicketType"/>
+            <column name="TYPE" value="LONG_CHAR_VALUE"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTE">
+            <column name="AB_KEYWORD_ATTRIBUTEID" value="6f10015d-b7ee-43aa-99f9-87960ec2e4fd"/>
+            <column name="NAME" value="availableStatus"/>
+            <column name="CONTAINER" value="TicketType"/>
+            <column name="TYPE" value="LONG_CHAR_VALUE"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTE">
+            <column name="AB_KEYWORD_ATTRIBUTEID" value="729a41d1-0463-480d-bf7b-0eb6c2e96f37"/>
+            <column name="NAME" value="defaultStatus"/>
+            <column name="CONTAINER" value="TicketType"/>
+            <column name="TYPE" value="CHAR_VALUE"/>
+        </insert>
+        
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="98075159-ecc2-4851-a971-6f3123a495d3"/>
+            <column name="KEYID" value="SUPPORTTICKET"/>
+            <column name="TITLE" value="Supportticket"/>
+            <column name="CONTAINER" value="TicketType"/>
+            <column name="SORTING" valueNumeric="1"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="1"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="1eef7882-90eb-4c5b-a01a-c6cf1ea7a82b"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="98075159-ecc2-4851-a971-6f3123a495d3"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="af6a0af9-0102-426b-a1f7-c8abfea79793"/>
+            <column name="LONG_CHAR_VALUE" value="[&quot;ff8b1caf-cf30-4edb-b5ca-a9a219ba8399&quot;]"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="cd293e92-224f-4bc3-9552-b3f7caa95c99"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="98075159-ecc2-4851-a971-6f3123a495d3"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f10015d-b7ee-43aa-99f9-87960ec2e4fd"/>
+            <column name="LONG_CHAR_VALUE" value="[&quot;UNASSIGNED&quot;,&quot;ASSIGNED&quot;,&quot;IN-PROGESS&quot;,&quot;ENDED-DONE&quot;,&quot;ENDED-ABANDONED&quot;,&quot;WAITING&quot;,&quot;STILL-INCORRECT&quot;,&quot;CUSTOMER-CHECKS&quot;]"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="17afe435-c498-45f7-8a16-50d50b78926a"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="98075159-ecc2-4851-a971-6f3123a495d3"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="729a41d1-0463-480d-bf7b-0eb6c2e96f37"/>
+            <column name="CHAR_VALUE" value="UNASSIGNED"/>
+        </insert>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2019.1.4/changelog.xml b/.liquibase/Data_alias/basic/2019.1.4/changelog.xml
index 6a95ddfc9b..754b80489a 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/changelog.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/changelog.xml
@@ -191,11 +191,12 @@
     <!-- the next generation of data -->
     <include relativeToChangelogFile="true" file="newExampleData/changelog.xml" context="example"/>
     
-    <include relativeToChangelogFile="true" file="Ticketmanagement/insertTicketAttributes_TaskType_Task.xml"/>
-    <include relativeToChangelogFile="true" file="Ticketmanagement/insert_TaskType_Task.xml"/>
-    <include relativeToChangelogFile="true" file="Ticketmanagement/update_TaskStatus_add_icon_and_new_status.xml"/>
     <include relativeToChangelogFile="true" file="Ticketmanagement/create_Ticket_table.xml"/>
-
+    <include relativeToChangelogFile="true" file="Ticketmanagement/insertTaskStatus.xml"/>
+    <include relativeToChangelogFile="true" file="Ticketmanagement/insert_TaskType_Ticket.xml"/>
+    <include relativeToChangelogFile="true" file="Ticketmanagement/insertTicketAttributes_TaskType_Task.xml"/>
+    <include relativeToChangelogFile="true" file="Ticketmanagement/insert_TicketTypes.xml"/>
+    
     <include relativeToChangelogFile="true" file="longerProductName_Code.xml"/>
     
     <include relativeToChangelogFile="true" file="BulkMail/create_bulkmail.xml"/>
diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index 54e741e474..cb33c32863 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -9997,6 +9997,20 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
+              <entityFieldDb>
+                <name>TICKETTYPE</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="1" />
+                <size v="36" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
             </entityFields>
           </entityDb>
         </entities>
diff --git a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod
index c974800c2b..be1269caa3 100644
--- a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod
+++ b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod
@@ -127,7 +127,7 @@
             <title></title>
             <childNodes>
               <entityNode>
-                <name>Ticket</name>
+                <name>SupportTicket</name>
                 <kind v="10077" />
                 <title></title>
               </entityNode>
diff --git a/entity/AttributeUsage_entity/entityfields/context/children/exclusivecontexts_param/valueProcess.js b/entity/AttributeUsage_entity/entityfields/context/children/exclusivecontexts_param/valueProcess.js
index 75a6896220..a304ae4185 100644
--- a/entity/AttributeUsage_entity/entityfields/context/children/exclusivecontexts_param/valueProcess.js
+++ b/entity/AttributeUsage_entity/entityfields/context/children/exclusivecontexts_param/valueProcess.js
@@ -12,5 +12,5 @@ result.object([
     "Salesproject",
     "Campaign",
     "DocumentTemplate",
-    "Task"
+    "SupportTicket"
 ]);
\ No newline at end of file
diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
index e823443fa8..1bcf14f14d 100644
--- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod
+++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
@@ -399,6 +399,24 @@
           <fieldName>StatusKeyword</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>44f84932-2a27-4e11-833b-def950c064d9</name>
+          <entityName>SupportTicket_entity</entityName>
+          <fieldName>KeywordTickettype</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>10ba6c44-779c-4ba8-9277-e9583af03ed5</name>
+          <entityName>SupportTicket_entity</entityName>
+          <fieldName>KeywordTaskState</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>e1b87370-aa15-4540-99c1-7bd63f0f3263</name>
+          <entityName>SupportTicket_entity</entityName>
+          <fieldName>KeywordTaskPriority</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
       <children>
         <entityParameter>
diff --git a/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js b/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js
index e581324d16..c8f0a22388 100644
--- a/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js
@@ -1,3 +1,4 @@
+import("system.logging");
 import("system.vars");
 import("system.db");
 import("system.result");
@@ -17,4 +18,6 @@ if (vars.exists("$param.WhitelistIds_param") && vars.getString("$param.Whitelist
     cond.andIn("AB_KEYWORD_ENTRY.KEYID", JSON.parse(vars.getString("$param.WhitelistIds_param")));
 
 var condStr = db.translateCondition(cond.build("1 = 1"));
+logging.log(condStr)
+
 result.string(condStr);
\ No newline at end of file
diff --git a/entity/Ticket_entity/Ticket_entity.aod b/entity/SupportTicket_entity/SupportTicket_entity.aod
similarity index 53%
rename from entity/Ticket_entity/Ticket_entity.aod
rename to entity/SupportTicket_entity/SupportTicket_entity.aod
index 2e14fc9038..07f1493c0b 100644
--- a/entity/Ticket_entity/Ticket_entity.aod
+++ b/entity/SupportTicket_entity/SupportTicket_entity.aod
@@ -1,7 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.8">
-  <name>Ticket_entity</name>
+  <name>SupportTicket_entity</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <title>Supportticket</title>
   <recordContainer>db</recordContainer>
   <entityFields>
     <entityProvider>
@@ -15,8 +16,8 @@
       <inputFormat>0000000</inputFormat>
       <searchable v="false" />
       <state>DISABLED</state>
-      <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/code/valueProcess.js</valueProcess>
-      <displayValueProcess>%aditoprj%/entity/Ticket_entity/entityfields/code/displayValueProcess.js</displayValueProcess>
+      <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/code/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/code/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>TASK_SUBJECT</name>
@@ -26,20 +27,20 @@
     <entityField>
       <name>TASK_STATUS</name>
       <title>{$TICKET_STATUS}</title>
-      <consumer>KeywordStates</consumer>
+      <consumer>KeywordTaskState</consumer>
       <groupable v="true" />
       <mandatory v="true" />
-      <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/task_status/valueProcess.js</valueProcess>
-      <displayValueProcess>%aditoprj%/entity/Ticket_entity/entityfields/task_status/displayValueProcess.js</displayValueProcess>
+      <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_status/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_status/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>TASK_PRIORITY</name>
       <title>Priority</title>
-      <consumer>KeywordPriorities</consumer>
+      <consumer>KeywordTaskPriority</consumer>
       <groupable v="true" />
       <mandatory v="true" />
-      <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/task_priority/valueProcess.js</valueProcess>
-      <displayValueProcess>%aditoprj%/entity/Ticket_entity/entityfields/task_priority/displayValueProcess.js</displayValueProcess>
+      <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_priority/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_priority/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>TASK_REQUESTOR_CONTACT_ID</name>
@@ -47,15 +48,15 @@
       <consumer>ContactRequestors</consumer>
       <linkedContext>Person</linkedContext>
       <mandatory v="true" />
-      <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/task_requestor_contact_id/valueProcess.js</valueProcess>
-      <displayValueProcess>%aditoprj%/entity/Ticket_entity/entityfields/task_requestor_contact_id/displayValueProcess.js</displayValueProcess>
+      <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_requestor_contact_id/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_requestor_contact_id/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>TASK_EDITOR_CONTACT_ID</name>
       <title>{$TICKET_EDITOR}</title>
       <consumer>ContactEditors</consumer>
       <linkedContext>Person</linkedContext>
-      <displayValueProcess>%aditoprj%/entity/Ticket_entity/entityfields/task_editor_contact_id/displayValueProcess.js</displayValueProcess>
+      <displayValueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_editor_contact_id/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>TASK_START_DATE</name>
@@ -65,7 +66,7 @@
       <outputFormat>dd.MM.yyyy HH:mm</outputFormat>
       <inputFormat>dd.MM.yyyy HH:mm</inputFormat>
       <groupable v="true" />
-      <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/task_start_date/valueProcess.js</valueProcess>
+      <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_start_date/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>TASK_MATURITY_DATE</name>
@@ -74,12 +75,12 @@
       <resolution>MINUTE</resolution>
       <outputFormat>dd.MM.yyyy HH:mm</outputFormat>
       <inputFormat>dd.MM.yyyy HH:mm</inputFormat>
-      <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/task_maturity_date/valueProcess.js</valueProcess>
+      <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_maturity_date/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>TASK_TYPE</name>
       <title>type</title>
-      <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/task_type/valueProcess.js</valueProcess>
+      <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_type/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>TASK_DESCRIPTION</name>
@@ -91,17 +92,17 @@
       <title>TASKID (UID)</title>
       <mandatory v="true" />
       <searchable v="false" />
-      <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/task_taskid/valueProcess.js</valueProcess>
+      <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_taskid/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>TASK_PRIORITY_ICON</name>
-      <colorProcess>%aditoprj%/entity/Ticket_entity/entityfields/task_priority_icon/colorProcess.js</colorProcess>
+      <colorProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_priority_icon/colorProcess.js</colorProcess>
       <contentType>IMAGE</contentType>
-      <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/task_priority_icon/valueProcess.js</valueProcess>
+      <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_priority_icon/valueProcess.js</valueProcess>
     </entityField>
     <entityParameter>
       <name>FilterOnlyOwnTicket_param</name>
-      <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/filteronlyownticket_param/valueProcess.js</valueProcess>
+      <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/filteronlyownticket_param/valueProcess.js</valueProcess>
     </entityParameter>
     <entityConsumer>
       <name>Links</name>
@@ -113,14 +114,14 @@
       <children>
         <entityParameter>
           <name>TaskId_param</name>
-          <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/links/children/taskid_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/links/children/taskid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
     <entityConsumer>
       <name>Attributes</name>
-      <stateProcess>%aditoprj%/entity/Ticket_entity/entityfields/attributes/stateProcess.js</stateProcess>
-      <onValidation>%aditoprj%/entity/Ticket_entity/entityfields/attributes/onValidation.js</onValidation>
+      <stateProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/attributes/stateProcess.js</stateProcess>
+      <onValidation>%aditoprj%/entity/SupportTicket_entity/entityfields/attributes/onValidation.js</onValidation>
       <dependency>
         <name>dependency</name>
         <entityName>AttributeRelation_entity</entityName>
@@ -129,29 +130,29 @@
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
-          <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess>
         </entityParameter>
         <entityParameter>
           <name>ObjectType_param</name>
-          <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess>
         </entityParameter>
         <entityParameter>
           <name>ShowEmpty_param</name>
-          <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/attributes/children/showempty_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/attributes/children/showempty_param/valueProcess.js</valueProcess>
         </entityParameter>
         <entityParameter>
           <name>FilteredAttributeIds_param</name>
-          <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/attributes/children/filteredattributeids_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/attributes/children/filteredattributeids_param/valueProcess.js</valueProcess>
         </entityParameter>
         <entityParameter>
           <name>DisplaySimpleName_param</name>
-          <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/attributes/children/displaysimplename_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/attributes/children/displaysimplename_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
     <entityConsumer>
       <name>MainDocuments</name>
-      <stateProcess>%aditoprj%/entity/Ticket_entity/entityfields/maindocuments/stateProcess.js</stateProcess>
+      <stateProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/maindocuments/stateProcess.js</stateProcess>
       <dependency>
         <name>dependency</name>
         <entityName>Document_entity</entityName>
@@ -160,11 +161,11 @@
       <children>
         <entityParameter>
           <name>AssignmentRowId_param</name>
-          <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/maindocuments/children/assignmentrowid_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/maindocuments/children/assignmentrowid_param/valueProcess.js</valueProcess>
         </entityParameter>
         <entityParameter>
           <name>AssignmentTable_param</name>
-          <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/maindocuments/children/assignmenttable_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/maindocuments/children/assignmenttable_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
@@ -179,11 +180,11 @@
       <children>
         <entityParameter>
           <name>AssignmentRowId_param</name>
-          <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess>
         </entityParameter>
         <entityParameter>
           <name>AssignmentTable_param</name>
-          <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
@@ -197,7 +198,7 @@
       <children>
         <entityParameter>
           <name>tablenames_param</name>
-          <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
@@ -206,8 +207,8 @@
       <title>Progress</title>
       <consumer>KeywordProgress</consumer>
       <mandatory v="true" />
-      <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/task_progress/valueProcess.js</valueProcess>
-      <displayValueProcess>%aditoprj%/entity/Ticket_entity/entityfields/task_progress/displayValueProcess.js</displayValueProcess>
+      <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_progress/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_progress/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityConsumer>
       <name>KeywordProgress</name>
@@ -219,37 +220,91 @@
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
-          <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
     <entityField>
       <name>TICKETTYPE</name>
+      <consumer>KeywordTickettype</consumer>
+      <mandatory v="true" />
+      <state>READONLY</state>
+      <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/tickettype/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>TICKETID</name>
     </entityField>
     <entityField>
       <name>TASK_ID</name>
-      <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/task_id/valueProcess.js</valueProcess>
+      <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_id/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>TASK_SUBJECT_DETAILS</name>
       <title>subject</title>
       <linkedContext>Task</linkedContext>
-      <valueProcess>%aditoprj%/entity/Ticket_entity/entityfields/task_subject_details/valueProcess.js</valueProcess>
+      <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_subject_details/valueProcess.js</valueProcess>
     </entityField>
+    <entityConsumer>
+      <name>KeywordTickettype</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/keywordtickettype/children/containername_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityConsumer>
+      <name>KeywordTaskState</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/keywordtaskstate/children/containername_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>WhitelistIds_param</name>
+          <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/keywordtaskstate/children/whitelistids_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityParameter>
+      <name>TicketType_param</name>
+      <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/tickettype_param/valueProcess.js</valueProcess>
+    </entityParameter>
+    <entityConsumer>
+      <name>KeywordTaskPriority</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/keywordtaskpriority/children/containername_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
       <name>db</name>
       <alias>Data_alias</alias>
       <isRequireContainerFiltering v="true" />
-      <fromClauseProcess>%aditoprj%/entity/Ticket_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess>
-      <conditionProcess>%aditoprj%/entity/Ticket_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
-      <orderClauseProcess>%aditoprj%/entity/Ticket_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
-      <onDBInsert>%aditoprj%/entity/Ticket_entity/recordcontainers/db/onDBInsert.js</onDBInsert>
-      <onDBDelete>%aditoprj%/entity/Ticket_entity/recordcontainers/db/onDBDelete.js</onDBDelete>
+      <fromClauseProcess>%aditoprj%/entity/SupportTicket_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess>
+      <conditionProcess>%aditoprj%/entity/SupportTicket_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
+      <orderClauseProcess>%aditoprj%/entity/SupportTicket_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
+      <onDBInsert>%aditoprj%/entity/SupportTicket_entity/recordcontainers/db/onDBInsert.js</onDBInsert>
+      <onDBDelete>%aditoprj%/entity/SupportTicket_entity/recordcontainers/db/onDBDelete.js</onDBDelete>
       <linkInformation>
         <linkInformation>
           <name>ec5c2cd3-f05b-467f-88c6-c1d4d7de87cc</name>
@@ -305,15 +360,15 @@
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_EDITOR_CONTACT_ID.displayValue</name>
-          <expression>%aditoprj%/entity/Ticket_entity/recordcontainers/db/recordfieldmappings/editor_contact_id.displayvalue/expression.js</expression>
+          <expression>%aditoprj%/entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/task_editor_contact_id.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_REQUESTOR_CONTACT_ID.displayValue</name>
-          <expression>%aditoprj%/entity/Ticket_entity/recordcontainers/db/recordfieldmappings/requestor_contact_id.displayvalue/expression.js</expression>
+          <expression>%aditoprj%/entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/task_requestor_contact_id.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_PRIORITY.displayValue</name>
-          <expression>%aditoprj%/entity/Ticket_entity/recordcontainers/db/recordfieldmappings/priority.displayvalue/expression.js</expression>
+          <expression>%aditoprj%/entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/task_priority.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_PROGRESS.value</name>
@@ -321,11 +376,11 @@
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_PROGRESS.displayValue</name>
-          <expression>%aditoprj%/entity/Ticket_entity/recordcontainers/db/recordfieldmappings/progress.displayvalue/expression.js</expression>
+          <expression>%aditoprj%/entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/task_progress.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_STATUS.displayValue</name>
-          <expression>%aditoprj%/entity/Ticket_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression>
+          <expression>%aditoprj%/entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/task_status.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_TYPE.value</name>
@@ -343,6 +398,10 @@
           <name>TICKETID.value</name>
           <recordfield>TICKET.TICKETID</recordfield>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>TICKETTYPE.value</name>
+          <recordfield>TICKET.TICKETTYPE</recordfield>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Ticket_entity/entityfields/attributes/children/displaysimplename_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/attributes/children/displaysimplename_param/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/attributes/children/displaysimplename_param/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/attributes/children/displaysimplename_param/valueProcess.js
diff --git a/entity/SupportTicket_entity/entityfields/attributes/children/filteredattributeids_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/attributes/children/filteredattributeids_param/valueProcess.js
new file mode 100644
index 0000000000..ddf4072c22
--- /dev/null
+++ b/entity/SupportTicket_entity/entityfields/attributes/children/filteredattributeids_param/valueProcess.js
@@ -0,0 +1,5 @@
+import("Ticket_lib");
+import("system.vars");
+import("system.result");
+
+result.object(TicketUtils.begin(vars.get("$field.TICKETTYPE")).getTypeAttributes());
\ No newline at end of file
diff --git a/entity/Ticket_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
diff --git a/entity/SupportTicket_entity/entityfields/attributes/children/objecttype_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
new file mode 100644
index 0000000000..2466d02a34
--- /dev/null
+++ b/entity/SupportTicket_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Context_lib")
+
+result.string("Ticket");
\ No newline at end of file
diff --git a/entity/Ticket_entity/entityfields/attributes/children/showempty_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/attributes/children/showempty_param/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/attributes/children/showempty_param/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/attributes/children/showempty_param/valueProcess.js
diff --git a/entity/Ticket_entity/entityfields/attributes/onValidation.js b/entity/SupportTicket_entity/entityfields/attributes/onValidation.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/attributes/onValidation.js
rename to entity/SupportTicket_entity/entityfields/attributes/onValidation.js
diff --git a/entity/Ticket_entity/entityfields/attributes/stateProcess.js b/entity/SupportTicket_entity/entityfields/attributes/stateProcess.js
similarity index 65%
rename from entity/Ticket_entity/entityfields/attributes/stateProcess.js
rename to entity/SupportTicket_entity/entityfields/attributes/stateProcess.js
index 7002f05bc9..2dadafc290 100644
--- a/entity/Ticket_entity/entityfields/attributes/stateProcess.js
+++ b/entity/SupportTicket_entity/entityfields/attributes/stateProcess.js
@@ -1,9 +1,9 @@
+import("Ticket_lib");
 import("system.result");
 import("system.vars");
 import("system.neon");
-import("ActivityTask_lib");
 
-if (TaskUtils.typeHasAttributes(vars.get("$field.TASK_TYPE")))
+if (TicketUtils.begin(vars.get("$field.TICKETTYPE")).typeHasAttributes())
 {
     result.string(neon.COMPONENTSTATE_EDITABLE);
 }
diff --git a/entity/Ticket_entity/entityfields/code/displayValueProcess.js b/entity/SupportTicket_entity/entityfields/code/displayValueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/code/displayValueProcess.js
rename to entity/SupportTicket_entity/entityfields/code/displayValueProcess.js
diff --git a/entity/Ticket_entity/entityfields/code/valueProcess.js b/entity/SupportTicket_entity/entityfields/code/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/code/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/code/valueProcess.js
diff --git a/entity/Ticket_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js
diff --git a/entity/Ticket_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js
diff --git a/entity/Ticket_entity/entityfields/filteronlyownticket_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/filteronlyownticket_param/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/filteronlyownticket_param/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/filteronlyownticket_param/valueProcess.js
diff --git a/entity/Ticket_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js
diff --git a/entity/SupportTicket_entity/entityfields/keywordtaskpriority/children/containername_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/keywordtaskpriority/children/containername_param/valueProcess.js
new file mode 100644
index 0000000000..e241431e6d
--- /dev/null
+++ b/entity/SupportTicket_entity/entityfields/keywordtaskpriority/children/containername_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.taskPriority());
\ No newline at end of file
diff --git a/entity/SupportTicket_entity/entityfields/keywordtaskstate/children/containername_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/keywordtaskstate/children/containername_param/valueProcess.js
new file mode 100644
index 0000000000..db7e6399ca
--- /dev/null
+++ b/entity/SupportTicket_entity/entityfields/keywordtaskstate/children/containername_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.taskStatus());
\ No newline at end of file
diff --git a/entity/SupportTicket_entity/entityfields/keywordtaskstate/children/whitelistids_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/keywordtaskstate/children/whitelistids_param/valueProcess.js
new file mode 100644
index 0000000000..4ee2bf21d3
--- /dev/null
+++ b/entity/SupportTicket_entity/entityfields/keywordtaskstate/children/whitelistids_param/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.logging");
+import("system.vars");
+import("system.result");
+import("Ticket_lib");
+logging.log(TicketUtils.begin(vars.get("$field.TICKETTYPE")).getAvailableStatus())
+result.object(TicketUtils.begin(vars.get("$field.TICKETTYPE")).getAvailableStatus())
\ No newline at end of file
diff --git a/entity/SupportTicket_entity/entityfields/keywordtickettype/children/containername_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/keywordtickettype/children/containername_param/valueProcess.js
new file mode 100644
index 0000000000..73ef051c47
--- /dev/null
+++ b/entity/SupportTicket_entity/entityfields/keywordtickettype/children/containername_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.ticketType())
\ No newline at end of file
diff --git a/entity/Ticket_entity/entityfields/links/children/taskid_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/links/children/taskid_param/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/links/children/taskid_param/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/links/children/taskid_param/valueProcess.js
diff --git a/entity/Ticket_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
diff --git a/entity/Ticket_entity/entityfields/maindocuments/children/assignmentrowid_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/maindocuments/children/assignmentrowid_param/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/maindocuments/children/assignmentrowid_param/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/maindocuments/children/assignmentrowid_param/valueProcess.js
diff --git a/entity/Ticket_entity/entityfields/maindocuments/children/assignmenttable_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/maindocuments/children/assignmenttable_param/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/maindocuments/children/assignmenttable_param/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/maindocuments/children/assignmenttable_param/valueProcess.js
diff --git a/entity/Ticket_entity/entityfields/maindocuments/stateProcess.js b/entity/SupportTicket_entity/entityfields/maindocuments/stateProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/maindocuments/stateProcess.js
rename to entity/SupportTicket_entity/entityfields/maindocuments/stateProcess.js
diff --git a/entity/Ticket_entity/entityfields/task_editor_contact_id/displayValueProcess.js b/entity/SupportTicket_entity/entityfields/task_editor_contact_id/displayValueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/task_editor_contact_id/displayValueProcess.js
rename to entity/SupportTicket_entity/entityfields/task_editor_contact_id/displayValueProcess.js
diff --git a/entity/Ticket_entity/entityfields/task_id/valueProcess.js b/entity/SupportTicket_entity/entityfields/task_id/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/task_id/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/task_id/valueProcess.js
diff --git a/entity/Ticket_entity/entityfields/task_maturity_date/valueProcess.js b/entity/SupportTicket_entity/entityfields/task_maturity_date/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/task_maturity_date/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/task_maturity_date/valueProcess.js
diff --git a/entity/Ticket_entity/entityfields/task_priority/displayValueProcess.js b/entity/SupportTicket_entity/entityfields/task_priority/displayValueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/task_priority/displayValueProcess.js
rename to entity/SupportTicket_entity/entityfields/task_priority/displayValueProcess.js
diff --git a/entity/Ticket_entity/entityfields/task_priority/valueProcess.js b/entity/SupportTicket_entity/entityfields/task_priority/valueProcess.js
similarity index 54%
rename from entity/Ticket_entity/entityfields/task_priority/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/task_priority/valueProcess.js
index 0639e8287e..d84677bdf6 100644
--- a/entity/Ticket_entity/entityfields/task_priority/valueProcess.js
+++ b/entity/SupportTicket_entity/entityfields/task_priority/valueProcess.js
@@ -1,8 +1,7 @@
-import("system.util");
 import("system.result");
 import("system.neon");
 import("system.vars");
-import("KeywordRegistry_basic");
+import("Ticket_lib");
 
 if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
-    result.string($KeywordRegistry.taskPriority$low());
+    result.string(TicketUtils.begin(vars.get("$field.TICKETTYPE")).getDefaultPriority());
\ No newline at end of file
diff --git a/entity/Ticket_entity/entityfields/task_priority_icon/colorProcess.js b/entity/SupportTicket_entity/entityfields/task_priority_icon/colorProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/task_priority_icon/colorProcess.js
rename to entity/SupportTicket_entity/entityfields/task_priority_icon/colorProcess.js
diff --git a/entity/Ticket_entity/entityfields/task_priority_icon/valueProcess.js b/entity/SupportTicket_entity/entityfields/task_priority_icon/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/task_priority_icon/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/task_priority_icon/valueProcess.js
diff --git a/entity/Ticket_entity/entityfields/task_progress/displayValueProcess.js b/entity/SupportTicket_entity/entityfields/task_progress/displayValueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/task_progress/displayValueProcess.js
rename to entity/SupportTicket_entity/entityfields/task_progress/displayValueProcess.js
diff --git a/entity/Ticket_entity/entityfields/task_progress/valueProcess.js b/entity/SupportTicket_entity/entityfields/task_progress/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/task_progress/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/task_progress/valueProcess.js
diff --git a/entity/Ticket_entity/entityfields/task_requestor_contact_id/displayValueProcess.js b/entity/SupportTicket_entity/entityfields/task_requestor_contact_id/displayValueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/task_requestor_contact_id/displayValueProcess.js
rename to entity/SupportTicket_entity/entityfields/task_requestor_contact_id/displayValueProcess.js
diff --git a/entity/Ticket_entity/entityfields/task_requestor_contact_id/valueProcess.js b/entity/SupportTicket_entity/entityfields/task_requestor_contact_id/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/task_requestor_contact_id/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/task_requestor_contact_id/valueProcess.js
diff --git a/entity/Ticket_entity/entityfields/task_start_date/valueProcess.js b/entity/SupportTicket_entity/entityfields/task_start_date/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/task_start_date/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/task_start_date/valueProcess.js
diff --git a/entity/Ticket_entity/entityfields/task_status/displayValueProcess.js b/entity/SupportTicket_entity/entityfields/task_status/displayValueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/task_status/displayValueProcess.js
rename to entity/SupportTicket_entity/entityfields/task_status/displayValueProcess.js
diff --git a/entity/SupportTicket_entity/entityfields/task_status/valueProcess.js b/entity/SupportTicket_entity/entityfields/task_status/valueProcess.js
new file mode 100644
index 0000000000..caf7826373
--- /dev/null
+++ b/entity/SupportTicket_entity/entityfields/task_status/valueProcess.js
@@ -0,0 +1,9 @@
+import("Ticket_lib");
+import("system.result");
+import("system.neon");
+import("system.vars");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value"))
+{
+    result.string(TicketUtils.begin(vars.get("$field.TICKETTYPE")).getDefaultStatus());
+}
\ No newline at end of file
diff --git a/entity/Ticket_entity/entityfields/task_subject_details/valueProcess.js b/entity/SupportTicket_entity/entityfields/task_subject_details/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/task_subject_details/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/task_subject_details/valueProcess.js
diff --git a/entity/Ticket_entity/entityfields/task_taskid/valueProcess.js b/entity/SupportTicket_entity/entityfields/task_taskid/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/task_taskid/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/task_taskid/valueProcess.js
diff --git a/entity/Ticket_entity/entityfields/task_type/valueProcess.js b/entity/SupportTicket_entity/entityfields/task_type/valueProcess.js
similarity index 100%
rename from entity/Ticket_entity/entityfields/task_type/valueProcess.js
rename to entity/SupportTicket_entity/entityfields/task_type/valueProcess.js
diff --git a/entity/SupportTicket_entity/entityfields/tickettype/valueProcess.js b/entity/SupportTicket_entity/entityfields/tickettype/valueProcess.js
new file mode 100644
index 0000000000..c3e6ca34b7
--- /dev/null
+++ b/entity/SupportTicket_entity/entityfields/tickettype/valueProcess.js
@@ -0,0 +1,8 @@
+import("system.result");
+import("system.neon");
+import("system.vars");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value"))
+{
+    result.string(vars.get("$param.TicketType_param"));
+}
\ No newline at end of file
diff --git a/entity/SupportTicket_entity/entityfields/tickettype_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/tickettype_param/valueProcess.js
new file mode 100644
index 0000000000..70a9670c71
--- /dev/null
+++ b/entity/SupportTicket_entity/entityfields/tickettype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.ticketType$supportTicket());
\ No newline at end of file
diff --git a/entity/Ticket_entity/recordcontainers/db/conditionProcess.js b/entity/SupportTicket_entity/recordcontainers/db/conditionProcess.js
similarity index 95%
rename from entity/Ticket_entity/recordcontainers/db/conditionProcess.js
rename to entity/SupportTicket_entity/recordcontainers/db/conditionProcess.js
index e5a38557f5..7aed878b9c 100644
--- a/entity/Ticket_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/SupportTicket_entity/recordcontainers/db/conditionProcess.js
@@ -8,6 +8,7 @@ import("KeywordRegistry_basic");
 
 var cond = new SqlCondition();
 cond.andPrepare("TASK.TYPE", $KeywordRegistry.taskType$ticket())
+    .andPrepareVars("TICKET.TICKETTYPE", "$param.TicketType_param")
 
 var loadNothing = false;
 
diff --git a/entity/Ticket_entity/recordcontainers/db/fromClauseProcess.js b/entity/SupportTicket_entity/recordcontainers/db/fromClauseProcess.js
similarity index 100%
rename from entity/Ticket_entity/recordcontainers/db/fromClauseProcess.js
rename to entity/SupportTicket_entity/recordcontainers/db/fromClauseProcess.js
diff --git a/entity/Ticket_entity/recordcontainers/db/onDBDelete.js b/entity/SupportTicket_entity/recordcontainers/db/onDBDelete.js
similarity index 100%
rename from entity/Ticket_entity/recordcontainers/db/onDBDelete.js
rename to entity/SupportTicket_entity/recordcontainers/db/onDBDelete.js
diff --git a/entity/Ticket_entity/recordcontainers/db/onDBInsert.js b/entity/SupportTicket_entity/recordcontainers/db/onDBInsert.js
similarity index 100%
rename from entity/Ticket_entity/recordcontainers/db/onDBInsert.js
rename to entity/SupportTicket_entity/recordcontainers/db/onDBInsert.js
diff --git a/entity/Ticket_entity/recordcontainers/db/orderClauseProcess.js b/entity/SupportTicket_entity/recordcontainers/db/orderClauseProcess.js
similarity index 100%
rename from entity/Ticket_entity/recordcontainers/db/orderClauseProcess.js
rename to entity/SupportTicket_entity/recordcontainers/db/orderClauseProcess.js
diff --git a/entity/Ticket_entity/recordcontainers/db/recordfieldmappings/editor_contact_id.displayvalue/expression.js b/entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/editor_contact_id.displayvalue/expression.js
similarity index 100%
rename from entity/Ticket_entity/recordcontainers/db/recordfieldmappings/editor_contact_id.displayvalue/expression.js
rename to entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/editor_contact_id.displayvalue/expression.js
diff --git a/entity/Ticket_entity/recordcontainers/db/recordfieldmappings/priority.displayvalue/expression.js b/entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/priority.displayvalue/expression.js
similarity index 100%
rename from entity/Ticket_entity/recordcontainers/db/recordfieldmappings/priority.displayvalue/expression.js
rename to entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/priority.displayvalue/expression.js
diff --git a/entity/Ticket_entity/recordcontainers/db/recordfieldmappings/progress.displayvalue/expression.js b/entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/progress.displayvalue/expression.js
similarity index 100%
rename from entity/Ticket_entity/recordcontainers/db/recordfieldmappings/progress.displayvalue/expression.js
rename to entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/progress.displayvalue/expression.js
diff --git a/entity/Ticket_entity/recordcontainers/db/recordfieldmappings/requestor_contact_id.displayvalue/expression.js b/entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/requestor_contact_id.displayvalue/expression.js
similarity index 100%
rename from entity/Ticket_entity/recordcontainers/db/recordfieldmappings/requestor_contact_id.displayvalue/expression.js
rename to entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/requestor_contact_id.displayvalue/expression.js
diff --git a/entity/Ticket_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js b/entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
similarity index 100%
rename from entity/Ticket_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
rename to entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
diff --git a/entity/TaskLink_entity/TaskLink_entity.aod b/entity/TaskLink_entity/TaskLink_entity.aod
index c44b974a11..6dc922046e 100644
--- a/entity/TaskLink_entity/TaskLink_entity.aod
+++ b/entity/TaskLink_entity/TaskLink_entity.aod
@@ -44,7 +44,7 @@
         </entityDependency>
         <entityDependency>
           <name>96ab81b2-20d1-4e30-8563-4b06d8406269</name>
-          <entityName>Ticket_entity</entityName>
+          <entityName>SupportTicket_entity</entityName>
           <fieldName>Links</fieldName>
           <isConsumer v="false" />
         </entityDependency>
diff --git a/entity/Task_entity/Task_entity.aod b/entity/Task_entity/Task_entity.aod
index 0a910115e6..394f36d5b9 100644
--- a/entity/Task_entity/Task_entity.aod
+++ b/entity/Task_entity/Task_entity.aod
@@ -148,6 +148,10 @@
           <valueProcess>%aditoprj%/entity/Task_entity/entityfields/keywordstates/children/containername_param/valueProcess.js</valueProcess>
           <expose v="false" />
         </entityParameter>
+        <entityParameter>
+          <name>WhitelistIds_param</name>
+          <valueProcess>%aditoprj%/entity/Task_entity/entityfields/keywordstates/children/whitelistids_param/valueProcess.js</valueProcess>
+        </entityParameter>
       </children>
     </entityConsumer>
     <entityConsumer>
@@ -263,6 +267,7 @@
     </entityConsumer>
     <entityConsumer>
       <name>Links</name>
+      <state>EDITABLE</state>
       <dependency>
         <name>dependency</name>
         <entityName>TaskLink_entity</entityName>
diff --git a/entity/Task_entity/entityfields/keywordstates/children/whitelistids_param/valueProcess.js b/entity/Task_entity/entityfields/keywordstates/children/whitelistids_param/valueProcess.js
new file mode 100644
index 0000000000..82820e3158
--- /dev/null
+++ b/entity/Task_entity/entityfields/keywordstates/children/whitelistids_param/valueProcess.js
@@ -0,0 +1,9 @@
+import("system.result");
+import("KeywordRegistry_basic");
+
+result.object([
+    $KeywordRegistry.taskStatus$new(),
+    $KeywordRegistry.taskStatus$inProcess(),
+    $KeywordRegistry.taskStatus$waiting(),
+    $KeywordRegistry.taskStatus$ended()
+]);
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/status/valueProcess.js b/entity/Task_entity/entityfields/status/valueProcess.js
index 7381489b62..db358521bc 100644
--- a/entity/Task_entity/entityfields/status/valueProcess.js
+++ b/entity/Task_entity/entityfields/status/valueProcess.js
@@ -1,13 +1,9 @@
-import("ActivityTask_lib");
-import("system.util");
+import("KeywordRegistry_basic");
 import("system.result");
 import("system.neon");
 import("system.vars");
-import("KeywordRegistry_basic");
-import("Keyword_lib");
 
 if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value"))
 {
-    var defaultState = TaskUtils.getDefaultStatus(vars.get("$field.TYPE"));
-    result.string(defaultState);
+    result.string($KeywordRegistry.taskStatus$new());
 }
\ No newline at end of file
diff --git a/entity/Ticket_entity/entityfields/attributes/children/filteredattributeids_param/valueProcess.js b/entity/Ticket_entity/entityfields/attributes/children/filteredattributeids_param/valueProcess.js
deleted file mode 100644
index a6ce85b4b1..0000000000
--- a/entity/Ticket_entity/entityfields/attributes/children/filteredattributeids_param/valueProcess.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import("system.vars");
-import("system.result");
-import("ActivityTask_lib");
-
-result.object(TaskUtils.getTypeAttributes(vars.get("$field.TASK_TYPE")));
\ No newline at end of file
diff --git a/entity/Ticket_entity/entityfields/attributes/children/objecttype_param/valueProcess.js b/entity/Ticket_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
deleted file mode 100644
index 6f0153b04f..0000000000
--- a/entity/Ticket_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.result");
-import("Context_lib")
-
-result.string(ContextUtils.getCurrentContextId());
\ No newline at end of file
diff --git a/entity/Ticket_entity/entityfields/task_status/valueProcess.js b/entity/Ticket_entity/entityfields/task_status/valueProcess.js
deleted file mode 100644
index d807ce33a0..0000000000
--- a/entity/Ticket_entity/entityfields/task_status/valueProcess.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import("ActivityTask_lib");
-import("system.util");
-import("system.result");
-import("system.neon");
-import("system.vars");
-import("KeywordRegistry_basic");
-import("Keyword_lib");
-
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value"))
-{
-    var defaultState = TaskUtils.getDefaultStatus(vars.get("$field.TASK_TYPE"));
-    result.string(defaultState);
-}
\ No newline at end of file
diff --git a/neonContext/Ticket/Ticket.aod b/neonContext/SupportTicket/SupportTicket.aod
similarity index 64%
rename from neonContext/Ticket/Ticket.aod
rename to neonContext/SupportTicket/SupportTicket.aod
index 4d119be977..8a65b17a5b 100644
--- a/neonContext/Ticket/Ticket.aod
+++ b/neonContext/SupportTicket/SupportTicket.aod
@@ -1,29 +1,29 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
-  <name>Ticket</name>
+  <name>SupportTicket</name>
   <title>Ticket</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
-  <mainview>TicketMain_view</mainview>
-  <filterview>TicketFilter_view</filterview>
-  <editview>TicketEdit_view</editview>
-  <preview>TicketPreview_view</preview>
-  <entity>Ticket_entity</entity>
+  <mainview>SupportTicketMain_view</mainview>
+  <filterview>SupportTicketFilter_view</filterview>
+  <editview>SupportTicketEdit_view</editview>
+  <preview>SupportTicketPreview_view</preview>
+  <entity>SupportTicket_entity</entity>
   <references>
     <neonViewReference>
       <name>3191f35b-3dde-4912-b728-130fa1fc1b7e</name>
-      <view>TicketFilter_view</view>
+      <view>SupportTicketFilter_view</view>
     </neonViewReference>
     <neonViewReference>
       <name>f5c0ef30-deea-4a8b-a177-2f2052621ca3</name>
-      <view>TicketEdit_view</view>
+      <view>SupportTicketEdit_view</view>
     </neonViewReference>
     <neonViewReference>
       <name>a1830cdc-a1a1-4110-b666-7a74157f78fc</name>
-      <view>TicketMain_view</view>
+      <view>SupportTicketMain_view</view>
     </neonViewReference>
     <neonViewReference>
       <name>c290c5f1-53d3-4634-bf42-0de2ee89974c</name>
-      <view>TicketPreview_view</view>
+      <view>SupportTicketPreview_view</view>
     </neonViewReference>
   </references>
 </neonContext>
diff --git a/neonView/TicketEdit_view/TicketEdit_view.aod b/neonView/SupportTicketEdit_view/SupportTicketEdit_view.aod
similarity index 98%
rename from neonView/TicketEdit_view/TicketEdit_view.aod
rename to neonView/SupportTicketEdit_view/SupportTicketEdit_view.aod
index 1dd2512b71..d6bfd4e83d 100644
--- a/neonView/TicketEdit_view/TicketEdit_view.aod
+++ b/neonView/SupportTicketEdit_view/SupportTicketEdit_view.aod
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TicketEdit_view</name>
+  <name>SupportTicketEdit_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
     <boxLayout>
diff --git a/neonView/TicketFilter_view/TicketFilter_view.aod b/neonView/SupportTicketFilter_view/SupportTicketFilter_view.aod
similarity index 99%
rename from neonView/TicketFilter_view/TicketFilter_view.aod
rename to neonView/SupportTicketFilter_view/SupportTicketFilter_view.aod
index 4bc66b93a8..8f6b586e22 100644
--- a/neonView/TicketFilter_view/TicketFilter_view.aod
+++ b/neonView/SupportTicketFilter_view/SupportTicketFilter_view.aod
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TicketFilter_view</name>
+  <name>SupportTicketFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
   <dashletConfigurations>
diff --git a/neonView/TicketMain_view/TicketMain_view.aod b/neonView/SupportTicketMain_view/SupportTicketMain_view.aod
similarity index 95%
rename from neonView/TicketMain_view/TicketMain_view.aod
rename to neonView/SupportTicketMain_view/SupportTicketMain_view.aod
index 680fad48fa..f8a2b93f79 100644
--- a/neonView/TicketMain_view/TicketMain_view.aod
+++ b/neonView/SupportTicketMain_view/SupportTicketMain_view.aod
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TicketMain_view</name>
+  <name>SupportTicketMain_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
     <masterSlaveLayout>
@@ -37,7 +37,7 @@
     <neonViewReference>
       <name>bfecc398-890e-485f-afa0-74e24f41b019</name>
       <entityField>#ENTITY</entityField>
-      <view>TicketPreview_view</view>
+      <view>SupportTicketPreview_view</view>
     </neonViewReference>
     <neonViewReference>
       <name>f45ff4cb-e469-46ee-808f-8c406eccbcd2</name>
diff --git a/neonView/TicketPreview_view/TicketPreview_view.aod b/neonView/SupportTicketPreview_view/SupportTicketPreview_view.aod
similarity index 98%
rename from neonView/TicketPreview_view/TicketPreview_view.aod
rename to neonView/SupportTicketPreview_view/SupportTicketPreview_view.aod
index b60429fe48..0d2560de1f 100644
--- a/neonView/TicketPreview_view/TicketPreview_view.aod
+++ b/neonView/SupportTicketPreview_view/SupportTicketPreview_view.aod
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TicketPreview_view</name>
+  <name>SupportTicketPreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
     <headerFooterLayout>
diff --git a/process/ActivityTask_lib/process.js b/process/ActivityTask_lib/process.js
index 69402dc76a..6ba7d0f709 100644
--- a/process/ActivityTask_lib/process.js
+++ b/process/ActivityTask_lib/process.js
@@ -102,36 +102,6 @@ TaskUtils.hasTasks = function(pRowId, pObjectType)
         return true;
 }
 
-TaskUtils.getTypeGroup = function(pType)
-{
-    return KeywordUtils.getAttributeRelation(pType, $KeywordRegistry.taskType(), "group", "Task");
-}
-
-TaskUtils.typeHasAttributes = function(pType)
-{
-    return TaskUtils.getTypeAttributes(pType).length > 0;
-}
-
-TaskUtils.getTypeAttributes = function(pType)
-{
-    return JSON.parse(KeywordUtils.getAttributeRelation(pType, $KeywordRegistry.taskType(), "attributes", "[]"));
-}
-
-TaskUtils.getAvailableStatus = function(pType)
-{
-    return JSON.parse(KeywordUtils.getAttributeRelation(pType, $KeywordRegistry.taskType(), "availableStatus", ""));
-}
-
-TaskUtils.getDefaultStatus = function(pType)
-{
-    return KeywordUtils.getAttributeRelation(pType, $KeywordRegistry.taskType(), "defaultStatus", "");
-}
-
-TaskUtils.getShowCode = function(pType)
-{
-    return KeywordUtils.getAttributeRelation(pType, $KeywordRegistry.taskType(), "showCode", true);
-}
-
 TaskUtils.getStatusIcon = function(pStatus)
 {
     return KeywordUtils.getAttributeRelation(pStatus, $KeywordRegistry.taskStatus(), "icon", "NEON:STATUS_NOT_STARTED");
diff --git a/process/KeywordData_lib/process.js b/process/KeywordData_lib/process.js
index f64dd8e497..f110230310 100644
--- a/process/KeywordData_lib/process.js
+++ b/process/KeywordData_lib/process.js
@@ -1,3 +1,4 @@
+import("system.logging");
 import("system.translate");
 import("system.db");
 import("DataCaching_lib");
@@ -50,7 +51,7 @@ KeywordData.getKeywordAttributeRelations = function (pKeywordContainer)
     var data = CachedData.make("KeywordAttributeRelationObj_" + pKeywordContainer, false, function(){
         var cond = SqlCondition.begin()
         .andPrepare("AB_KEYWORD_ENTRY.CONTAINER", pKeywordContainer);
-
+        
         var sql = cond.buildSql("select AB_KEYWORD_ENTRY.KEYID, AB_KEYWORD_ATTRIBUTE.NAME, AB_KEYWORD_ATTRIBUTE.TYPE, \n\
         AB_KEYWORD_ATTRIBUTERELATION.CHAR_VALUE, AB_KEYWORD_ATTRIBUTERELATION.LONG_CHAR_VALUE, AB_KEYWORD_ATTRIBUTERELATION.NUMBER_VALUE, AB_KEYWORD_ATTRIBUTERELATION.BOOL_VALUE \n\
         from AB_KEYWORD_ENTRY \n\
diff --git a/process/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js
index ba206cf6ba..8539ed786b 100644
--- a/process/KeywordRegistry_basic/process.js
+++ b/process/KeywordRegistry_basic/process.js
@@ -41,16 +41,19 @@ $KeywordRegistry.organisationType$competitor = function(){return "eccaf9de-5c7b-
 
 $KeywordRegistry.personGender = function(){return "PersonGender";};
 $KeywordRegistry.taskStatus = function(){return "TaskStatus";};
-$KeywordRegistry.taskStatus$new = function(){return "21bc4d20-1a87-4247-8f7c-8d3a09631850";};
-$KeywordRegistry.taskStatus$inProcess = function(){return "b1fd456f-f5d2-459e-b467-76e2914c8169";};
-$KeywordRegistry.taskStatus$waiting = function(){return "00595a73-22e2-4c3b-a21c-06bdec262d20";};
-$KeywordRegistry.taskStatus$ended = function(){return "7c9d6681-6cf5-4395-b276-3941b6fd0d57";};
+$KeywordRegistry.taskStatus$new = function(){return "NEW                                 ";};
+$KeywordRegistry.taskStatus$inProcess = function(){return "IN-PROGRESS                         ";};
+$KeywordRegistry.taskStatus$waiting = function(){return "WAITING                             ";};
+$KeywordRegistry.taskStatus$ended = function(){return "ENDED                               ";};
 
 $KeywordRegistry.taskType = function(){return "TaskType";};
 $KeywordRegistry.taskType$task = function(){return "4dee8727-8299-422e-ae41-6cdf9de2dfd7";};
 $KeywordRegistry.taskType$ticket = function(){return "f3da0edd-49d9-4061-98c1-8fda8631be7e";};
 $KeywordRegistry.taskType$supportTicket = function(){return "7bf77721-470f-4cdf-a6af-452bf05a405b";};
 
+$KeywordRegistry.ticketType = function(){return "TicketType";};
+$KeywordRegistry.ticketType$supportTicket = function(){return "SUPPORTTICKET                       ";};
+
 $KeywordRegistry.productPricelist = function(){return "ProductPricelist";};
 $KeywordRegistry.productPricelist$standardList = function(){return "02553fc7-4611-4914-8ff5-0b7c4e7531c9";};
 
@@ -111,4 +114,4 @@ $KeywordRegistry.communicationMediumCampaign = function(){return "CommunicationM
 $KeywordRegistry.bulkMailSentStatus = function(){return "BulkMailSentStatus";};
 $KeywordRegistry.bulkMailSentStatus$pending = function(){return "9a0c5608-070e-49fb-92cd-f6abece9242d";};
 $KeywordRegistry.bulkMailSentStatus$sent = function(){return "147211fb-a1cf-49c8-8e08-c3cfe0404f9b";};
-$KeywordRegistry.bulkMailSentStatus$failed = function(){return "353e27e9-7491-4bfd-b9f9-f18f2cb2a36c";};
\ No newline at end of file
+$KeywordRegistry.bulkMailSentStatus$failed = function(){return "353e27e9-7491-4bfd-b9f9-f18f2cb2a36c";};
diff --git a/process/Ticket_lib/Ticket_lib.aod b/process/Ticket_lib/Ticket_lib.aod
new file mode 100644
index 0000000000..5ce9c41505
--- /dev/null
+++ b/process/Ticket_lib/Ticket_lib.aod
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
+  <name>Ticket_lib</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <process>%aditoprj%/process/Ticket_lib/process.js</process>
+  <variants>
+    <element>LIBRARY</element>
+  </variants>
+</process>
diff --git a/process/Ticket_lib/process.js b/process/Ticket_lib/process.js
new file mode 100644
index 0000000000..0a3c0e3f52
--- /dev/null
+++ b/process/Ticket_lib/process.js
@@ -0,0 +1,111 @@
+import("system.logging");
+import("ActivityTask_lib");
+import("KeywordRegistry_basic");
+import("Keyword_lib");
+import("system.db");
+import("Sql_lib");
+
+
+/**
+ * Methods used by for tickets.
+ * Note that Tickets are built on the Task-construct so they share some similar logik.
+ * 
+ * Tickets are in an extra Table 'TICKET' and the task table is joined to it. All tasks with type Ticket should be also in 'TICKET'.
+ * --> if you need all information for a Ticket, just select from TICKET left join TASK on TASK_ID = TASKID
+ * 
+ * @class
+ */
+function TicketUtils(pTicketType) 
+{
+    this.type = pTicketType;
+}
+
+TicketUtils.begin = function(pTicketType)
+{
+    return new TicketUtils(pTicketType);
+}
+   
+TicketUtils.getStatusIcon = function(pStatus)
+{
+    return TaskUtils.getStatusIcon(pStatus);
+}
+
+/**
+ * add the links to the link-table in new mode
+ * 
+ * @return {String} pObjectIdField jdito Field for the objectId
+ * @return {String} pRowIdField jdito Field for the rowId
+ * @return {String} pAdditionalLinksField jdito Field for additional links
+ */
+TicketUtils.addLinkRecords= function(pObjectIdField, pRowIdField, pAdditionalLinksField, pParentContextField, pParentIdField)
+{
+    throw Error("Not fully implemented yet");
+    TaskUtils.addLinkRecords(pObjectIdField, pRowIdField, pAdditionalLinksField, pParentContextField, pParentIdField, "Links");
+}
+   
+/**
+ * Create a new ticket
+ */
+TicketUtils.prototype.createNewTicket = function(pRowId, pAdditionalLinks, pParentContext, pParentId, pParams)
+{
+    throw Error("Not implemented yet");
+}
+
+/**
+ * check if an object has tickets
+ */
+TicketUtils.prototype.hasTickets = function(pRowId, pObjectType)
+{
+    if (pRowId != "" && pObjectType != "")
+    {
+        var cond = SqlCondition.begin().andPrepare("TASKLINK.OBJECT_TYPE", pObjectType)
+                                       .andPrepare("TASKLINK.OBJECT_ROWID", pRowId)
+                                       .andPrepareVars("TICKET.TICKETTYPE", this.type);
+        var taskCount = db.cell(cond.buildSql("select count(*) from TASKLINK join TICKET on TICKET.TASK_ID = TASKLINK.TASK_ID"));
+        if (taskCount != "0")
+            return true;
+        else 
+            return false;
+    }
+    else
+        return true;
+}
+
+TicketUtils.prototype.typeHasAttributes = function()
+{
+    return this.getTypeAttributes().length > 0;
+}
+
+TicketUtils.prototype.getTypeAttributes = function()
+{
+    logging.log(this.type +" a " + JSON.parse(KeywordUtils.getAttributeRelation(this.type, $KeywordRegistry.ticketType(), "attributes", "[]")).toSource())
+    return JSON.parse(KeywordUtils.getAttributeRelation(this.type, $KeywordRegistry.ticketType(), "attributes", "[]"));
+}
+
+TicketUtils.prototype.getAvailableStatus = function()
+{
+    states = JSON.parse(KeywordUtils.getAttributeRelation(this.type, $KeywordRegistry.ticketType(), "availableStatus", ""))
+    if (states == null)
+        return states;
+    
+    return states.map(TicketUtils._toChar36);
+}
+
+TicketUtils.prototype.getDefaultStatus = function()
+{
+    return TicketUtils._toChar36(KeywordUtils.getAttributeRelation(this.type, $KeywordRegistry.ticketType(), "defaultStatus", ""));
+}
+
+TicketUtils.prototype.getDefaultPriority = function()
+{
+    // Imporant: if you would like to change priority/ add or remove possible priorities 
+    // consider using the same construct as for status
+    // (--> using keyword attributes (e.g. whitelist) on the ticket type for making grouping over all (task /) tickets possible.
+    return $KeywordRegistry.taskPriority$low();
+}
+
+TicketUtils._toChar36 = function(pValue) 
+{
+    logging.log(pValue)
+    return (pValue + "                                    ").slice(0, 36);
+}
\ No newline at end of file
-- 
GitLab