Index: main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/applicants/applicant.py
===================================================================
--- main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/applicants/applicant.py	(revision 15171)
+++ main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/applicants/applicant.py	(revision 15218)
@@ -26,10 +26,11 @@
 from kofacustom.nigeria.applicants.applicant import NigeriaApplicant
 from kofacustom.edopoly.applicants.interfaces import(
-    ICustomApplicant, ICustomUGApplicantEdit, ICustomPGApplicantEdit, IPUTMEApplicantEdit)
+    ICustomApplicant, ICustomUGApplicantEdit, ICustomPGApplicantEdit,
+    IPUTMEApplicantEdit, ICustomSpecialApplicant)
 
 class CustomApplicant(NigeriaApplicant):
 
     grok.implements(ICustomApplicant, ICustomUGApplicantEdit,
-        ICustomPGApplicantEdit, IPUTMEApplicantEdit)
+        ICustomPGApplicantEdit, IPUTMEApplicantEdit, ICustomSpecialApplicant)
     grok.provides(ICustomApplicant)
 
Index: main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/applicants/browser.py
===================================================================
--- main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/applicants/browser.py	(revision 15171)
+++ main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/applicants/browser.py	(revision 15218)
@@ -47,5 +47,5 @@
     ICustomUGApplicantEdit, ICustomUGApplicant,
     ICustomPGApplicantEdit, ICustomPGApplicant,
-    ICustomApplicant,)
+    ICustomApplicant, ICustomSpecialApplicant,)
 
 from kofacustom.edopoly.interfaces import MessageFactory as _
@@ -85,4 +85,6 @@
     def form_fields(self):
         target = getattr(self.context.__parent__, 'prefix', None)
+        if self.context.special:
+            return grok.AutoFields(ICustomSpecialApplicant)
         form_fields = grok.AutoFields(ICustomUGApplicant)
         for field in UG_OMIT_DISPLAY_FIELDS:
@@ -217,4 +219,8 @@
     @property
     def form_fields(self):
+        if self.context.special:
+            form_fields = grok.AutoFields(ICustomSpecialApplicant)
+            form_fields['applicant_id'].for_display = True
+            return form_fields
         target = getattr(self.context.__parent__, 'prefix', None)
         form_fields = grok.AutoFields(ICustomUGApplicant)
@@ -231,4 +237,9 @@
     @property
     def form_fields(self):
+        if self.context.special:
+            form_fields = grok.AutoFields(ICustomSpecialApplicant).omit(
+                'locked', 'suspended')
+            form_fields['applicant_id'].for_display = True
+            return form_fields
         target = getattr(self.context.__parent__, 'prefix', None)
         form_fields = grok.AutoFields(ICustomUGApplicantEdit)
Index: main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/applicants/interfaces.py
===================================================================
--- main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/applicants/interfaces.py	(revision 15171)
+++ main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/applicants/interfaces.py	(revision 15218)
@@ -28,5 +28,6 @@
 from waeup.kofa.schema import FormattedDate, TextLineChoice
 from waeup.kofa.students.vocabularies import nats_vocab, GenderSource
-from waeup.kofa.applicants.interfaces import contextual_reg_num_source
+from waeup.kofa.applicants.interfaces import (
+    contextual_reg_num_source, ISpecialApplicant)
 from kofacustom.nigeria.applicants.interfaces import (
     LGASource, high_qual, high_grade, exam_types,
@@ -225,4 +226,7 @@
     """
 
+class ICustomSpecialApplicant(ISpecialApplicant):
+    """
+    """
 
 class ICustomApplicant(ICustomUGApplicant, ICustomPGApplicant):
Index: main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/applicants/utils.py
===================================================================
--- main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/applicants/utils.py	(revision 15171)
+++ main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/applicants/utils.py	(revision 15218)
@@ -42,4 +42,5 @@
         'pre': ['Pre-Degree Studies', 'PRE'],
         'ct': ['Certificate Programmes', 'CT'],
+        'special': ['Supplementary Payment', 'SP'],
         }
 
