Index: main/kofacustom.pcn/trunk/src/kofacustom/pcn/browser/pages.py
===================================================================
--- main/kofacustom.pcn/trunk/src/kofacustom/pcn/browser/pages.py	(revision 11838)
+++ main/kofacustom.pcn/trunk/src/kofacustom/pcn/browser/pages.py	(revision 11839)
@@ -20,6 +20,6 @@
     SessionConfigurationAddFormPage, SessionConfigurationManageFormPage,
     LoginPage, CertificatePage, CertificateManageFormPage, DepartmentPage,
-    DepartmentManageFormPage)
-from waeup.kofa.university.interfaces import ICertificate
+    DepartmentManageFormPage, CertificateAddFormPage, DepartmentAddFormPage)
+from waeup.kofa.university.interfaces import IDepartment, ICertificate
 from kofacustom.pcn.interfaces import (
     ICustomSessionConfiguration, ICustomSessionConfigurationAdd)
@@ -45,2 +45,34 @@
     """
     grok.template('departmentmanagepage')
+    form_fields = grok.AutoFields(IDepartment).omit(
+        'code', 'score_editing_disabled')
+
+class DepartmentAddFormPage(DepartmentAddFormPage):
+    """Department index page.
+    """
+    form_fields = grok.AutoFields(IDepartment).omit('score_editing_disabled')
+
+class CertificatePage(CertificatePage):
+    """Index page for certificates.
+    """
+    grok.template('certificatepage')
+
+    form_fields = grok.AutoFields(ICertificate).omit(
+        'study_mode', 'start_level', 'end_level', 'school_fee_2',
+        'school_fee_3', 'school_fee_4', 'ratio')
+
+class CertificateManageFormPage(CertificateManageFormPage):
+    """Manage the properties of a `Certificate` instance.
+    """
+    grok.template('certificatemanagepage')
+
+    form_fields = grok.AutoFields(ICertificate).omit(
+        'code', 'study_mode', 'start_level', 'end_level', 'school_fee_2',
+        'school_fee_3', 'school_fee_4', 'ratio')
+
+class CertificateAddFormPage(CertificateAddFormPage):
+    """Add-form to add certificate to a department.
+    """
+    form_fields = grok.AutoFields(ICertificate).omit(
+        'study_mode', 'start_level', 'end_level', 'school_fee_2',
+        'school_fee_3', 'school_fee_4', 'ratio')
Index: main/kofacustom.pcn/trunk/src/kofacustom/pcn/browser/templates/certificatemanagepage.pt
===================================================================
--- main/kofacustom.pcn/trunk/src/kofacustom/pcn/browser/templates/certificatemanagepage.pt	(revision 11839)
+++ main/kofacustom.pcn/trunk/src/kofacustom/pcn/browser/templates/certificatemanagepage.pt	(revision 11839)
@@ -0,0 +1,90 @@
+<form action="." tal:attributes="action request/URL" method="POST"
+      enctype="multipart/form-data" i18n:domain="waeup.kofa">
+
+  <ul class="tabs nav nav-tabs" data-tabs="tabs">
+    <li class="active">
+      <a href="#tab1" data-toggle="tab" i18n:translate="">Settings</a>
+    </li>
+    <li>
+      <a href="#tab3" data-toggle="tab" i18n:translate="">Local Roles</a>
+    </li>
+  </ul>
+
+  <div class="tab-content">
+    <div id="tab1" class="active tab-pane">
+      <table class="form-table">
+        <tbody>
+          <tal:widgets content="structure provider:widgets" />
+        </tbody>
+      </table>
+      <div tal:condition="view/availableActions">
+        <span tal:repeat="action view/actions"
+              tal:omit-tag="">
+          <input tal:condition="python:action.label in view.taboneactions"
+                 tal:replace="structure action/render"/>
+        </span>
+      </div>
+    </div>
+    <div id="tab3" class="tab-pane">
+      <br />
+      <table class="kofa-data-table dataTableManage">
+        <thead>
+          <tr>
+            <th>&nbsp;
+            </th>
+            <th i18n:translate="">User Id
+            </th>
+            <th i18n:translate="">Name
+            </th>
+            <th i18n:translate="">Local Role
+            </th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr tal:repeat="entry view/getUsersWithLocalRoles"> <td>
+            <input type="checkbox" name="role_id"
+                   tal:attributes="value python: entry['user_name']+'|'+entry['local_role']" /> </td>
+            <td tal:content="entry/user_name"> USERNAME </td>
+            <td tal:content="entry/user_title"> USERTITLE </td>
+            <td tal:content="entry/local_role_title"> LOCAL ROLE </td>
+          </tr>
+        </tbody>
+      </table>
+      <div tal:condition="view/availableActions">
+        <span tal:repeat="action view/actions" tal:omit-tag="">
+          <input tal:condition="python:action.label in view.tabthreeactions1"
+                 tal:replace="structure action/render"/>
+        </span>
+      </div><br /><br />
+      <div class="form-inline">
+        <br />
+        <div class="form-group">
+          <select id="user" name="user" class="form-control">
+            <option tal:repeat="user view/getUsers"
+                    tal:attributes="value user/name">
+            <span tal:replace="user/val/title">USERTITLE
+            </span>
+            </option>
+          </select>
+        </div>
+        <div class="form-group">
+          <select id="local_role" name="local_role" class="form-control">
+            <option tal:repeat="localrole view/getLocalRoles"
+                    tal:attributes="value localrole/name">
+            <span tal:replace="localrole/title">LOCALROLETITLE
+            </span>
+            </option>
+          </select>
+        </div>
+        <div class="form-group">
+          <div tal:condition="view/availableActions">
+            <span tal:repeat="action view/actions" tal:omit-tag="">
+              <input tal:condition="python:action.label in view.tabthreeactions2"
+                     tal:replace="structure action/render"/>
+            </span>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</form>
Index: main/kofacustom.pcn/trunk/src/kofacustom/pcn/browser/templates/certificatepage.pt
===================================================================
--- main/kofacustom.pcn/trunk/src/kofacustom/pcn/browser/templates/certificatepage.pt	(revision 11839)
+++ main/kofacustom.pcn/trunk/src/kofacustom/pcn/browser/templates/certificatepage.pt	(revision 11839)
@@ -0,0 +1,19 @@
+<table class="form-table">
+<thead>
+</thead>
+<tbody>
+  <tal:block repeat="widget view/widgets">
+    <tr>
+      <td class="fieldname">
+        <span tal:content="widget/label">label</span>:
+      </td>
+      <td tal:on-error="default">
+        <div tal:content="structure widget">
+          <input type="text" />
+        </div>
+      </td>
+    </tr>
+  </tal:block>
+</tbody>
+</table>
+
Index: main/kofacustom.pcn/trunk/src/kofacustom/pcn/locales/en/LC_MESSAGES/waeup.kofa.po
===================================================================
--- main/kofacustom.pcn/trunk/src/kofacustom/pcn/locales/en/LC_MESSAGES/waeup.kofa.po	(revision 11838)
+++ main/kofacustom.pcn/trunk/src/kofacustom/pcn/locales/en/LC_MESSAGES/waeup.kofa.po	(revision 11839)
@@ -280,2 +280,5 @@
 msgid "WAeUP.Kofa - Student Management System"
 msgstr "WAeUP.Kofa - Online Registration System (Demo Version)"
+
+msgid "Initial School Fee"
+msgstr "Registration Fee"
Index: main/kofacustom.pcn/trunk/src/kofacustom/pcn/university/faculty.py
===================================================================
--- main/kofacustom.pcn/trunk/src/kofacustom/pcn/university/faculty.py	(revision 11839)
+++ main/kofacustom.pcn/trunk/src/kofacustom/pcn/university/faculty.py	(revision 11839)
@@ -0,0 +1,69 @@
+import grok
+from waeup.kofa.university.interfaces import IDepartment, ICertificate
+from waeup.kofa.university.faculty import (
+    Faculty, FacultyFactory)
+from waeup.kofa.university.department import (
+    Department, DepartmentFactory)
+from waeup.kofa.university.certificate import (
+    Certificate, CertificateFactory)
+
+
+class CustomFaculty(Faculty):
+    """A university faculty.
+    """
+    local_roles = [
+        'waeup.local.DepartmentOfficer',
+        'waeup.local.DepartmentManager',
+        ]
+
+class CustomFacultyFactory(FacultyFactory):
+    """A factory for faculty containers.
+    """
+
+    def __call__(self, *args, **kw):
+        return CustomFaculty()
+
+    def getInterfaces(self):
+        return implementedBy(CustomFaculty)
+
+class CustomDepartment(Department):
+    """A university department.
+    """
+    grok.implements(IDepartment)
+
+    local_roles = [
+        'waeup.local.ApplicationsManager',
+        'waeup.local.DepartmentOfficer',
+        'waeup.local.DepartmentManager',
+        ]
+
+class CustomDepartmentFactory(DepartmentFactory):
+    """A factory for department containers.
+    """
+
+    def __call__(self, *args, **kw):
+        return CustomDepartment(*args, **kw)
+
+    def getInterfaces(self):
+        """Get interfaces of objects provided by this factory.
+        """
+        return implementedBy(CustomDepartment)
+
+class CustomCertificate(Certificate):
+    """A certificate.
+    """
+    grok.implements(ICertificate)
+
+    local_roles = [
+        'waeup.local.DepartmentOfficer',
+        ]
+
+class CustomCertificateFactory(CertificateFactory):
+    """A factory for certificates.
+    """
+
+    def __call__(self, *args, **kw):
+        return CustomCertificate(*args, **kw)
+
+    def getInterfaces(self):
+        return implementedBy(CustomCertificate)
Index: main/kofacustom.pcn/trunk/src/kofacustom/pcn/utils/utils.py
===================================================================
--- main/kofacustom.pcn/trunk/src/kofacustom/pcn/utils/utils.py	(revision 11838)
+++ main/kofacustom.pcn/trunk/src/kofacustom/pcn/utils/utils.py	(revision 11839)
@@ -18,4 +18,5 @@
 """Customize general helper utilities for Kofa.
 """
+from copy import deepcopy
 from waeup.kofa.utils.utils import KofaUtils
 
@@ -24,2 +25,34 @@
     """
 
+    INST_TYPES_DICT = {
+        'none': '',
+        }
+
+    STUDY_MODES_DICT = {
+        'na': 'not applicable',
+        }
+
+    APP_CATS_DICT = {
+        'pal': 'Pharmacist Annual License',
+        'pl': 'Premises License',
+        'ptap': 'Pharmacy Technician Annual Permit',
+        'ppmvl': 'Patent and Proprietary Medicine Vendor License',
+        'pmrp': 'Pharmaceutical and Medical Representative Permit',
+        'sop': 'Scientific Office Permit',
+        }
+
+    PAYMENT_CATEGORIES = {
+        'registration': 'Registration Fee',
+        }
+
+    SELECTABLE_PAYMENT_CATEGORIES = deepcopy(PAYMENT_CATEGORIES)
+
+    PREVIOUS_PAYMENT_CATEGORIES = deepcopy(SELECTABLE_PAYMENT_CATEGORIES)
+
+    BALANCE_PAYMENT_CATEGORIES = {
+        'registration': 'Registration Fee',
+        }
+
+    MODE_GROUPS = {
+        'All': ('all',),
+        }
