Index: main/kofacustom.udss/trunk/src/kofacustom/udss/applicants/browser.py
===================================================================
--- main/kofacustom.udss/trunk/src/kofacustom/udss/applicants/browser.py	(revision 17711)
+++ main/kofacustom.udss/trunk/src/kofacustom/udss/applicants/browser.py	(revision 17712)
@@ -43,21 +43,12 @@
 from kofacustom.udss.interfaces import MessageFactory as _
 
-OMIT_DISPLAY_FIELDS = ('locked', 'course_admitted',
-    'result_uploaded', 'suspended', 'special_application',)
+OMIT_DISPLAY_FIELDS = ('locked', 'suspended',)
 
-UG_OMIT_DISPLAY_FIELDS = OMIT_DISPLAY_FIELDS + (
-    'programme_type', 'course1', 'course2', 'course_admitted')
-UG_OMIT_PDF_FIELDS = UG_OMIT_DISPLAY_FIELDS + ('phone',)
-UG_OMIT_MANAGE_FIELDS = (
-    'special_application',
-    'programme_type', 'course1', 'course2', 'course_admitted')
+UG_OMIT_DISPLAY_FIELDS = OMIT_DISPLAY_FIELDS + ()
+UG_OMIT_PDF_FIELDS = UG_OMIT_DISPLAY_FIELDS
+UG_OMIT_MANAGE_FIELDS = ()
 UG_OMIT_EDIT_FIELDS = UG_OMIT_MANAGE_FIELDS + OMIT_DISPLAY_FIELDS + (
     'student_id',
-    'notice',
-    'jamb_age',
-    'jamb_subjects',
-    'jamb_score',
-    'jamb_reg_number',
-    'aggregate')
+    'notice')
 
 class CustomApplicantDisplayFormPage(ApplicantDisplayFormPage):
@@ -87,5 +78,5 @@
 
     def _reduced_slip(self):
-        return getattr(self.context, 'result_uploaded', False)
+        return False
 
     @property
Index: main/kofacustom.udss/trunk/src/kofacustom/udss/applicants/interfaces.py
===================================================================
--- main/kofacustom.udss/trunk/src/kofacustom/udss/applicants/interfaces.py	(revision 17711)
+++ main/kofacustom.udss/trunk/src/kofacustom/udss/applicants/interfaces.py	(revision 17712)
@@ -25,6 +25,7 @@
 from waeup.kofa.schoolgrades import ResultEntryField
 from waeup.kofa.interfaces import (
-    SimpleKofaVocabulary, academic_sessions_vocab, validate_email)
-from waeup.kofa.schema import FormattedDate, TextLineChoice
+    SimpleKofaVocabulary, academic_sessions_vocab, validate_email,
+    IKofaObject)
+from waeup.kofa.schema import FormattedDate, TextLineChoice, PhoneNumber
 from waeup.kofa.students.vocabularies import nats_vocab, GenderSource
 from waeup.kofa.applicants.interfaces import (
@@ -37,12 +38,174 @@
 from kofacustom.udss.payments.interfaces import ICustomOnlinePayment
 
-class ICustomUGApplicant(IApplicantBaseData):
-    """An undergraduate applicant.
-
-    This interface defines the least common multiple of all fields
-    in ug application forms. In customized forms, fields can be excluded by
-    adding them to the UG_OMIT* tuples.
-    """
-
+class ICustomUGApplicant(IKofaObject):
+    """A pupil.
+
+    """
+
+    suspended = schema.Bool(
+        title = _(u'Account suspended'),
+        default = False,
+        required = False,
+        )
+
+    applicant_id = schema.TextLine(
+        title = _(u'Applicant Id'),
+        required = False,
+        readonly = False,
+        )
+
+    reg_number = TextLineChoice(
+        title = _(u'Registration Number'),
+        readonly = False,
+        required = False,
+        source = contextual_reg_num_source,
+        )
+
+    firstname = schema.TextLine(
+        title = _(u'First Name'),
+        required = True,
+        )
+
+    middlename = schema.TextLine(
+        title = _(u'Middle Name'),
+        required = False,
+        )
+
+    lastname = schema.TextLine(
+        title = _(u'Last Name (Surname)'),
+        required = True,
+        )
+
+    date_of_birth = FormattedDate(
+        title = _(u'Date of Birth'),
+        required = False,
+        show_year = True,
+        )
+
+    sex = schema.Choice(
+        title = _(u'Gender'),
+        source = GenderSource(),
+        required = True,
+        )
+    nationality = schema.Choice(
+        source = nats_vocab,
+        title = _(u'Nationality'),
+        required = False,
+        )
+    religion = schema.Choice(
+        title = u'Religion',
+        default = 'no_say',
+        required = False,
+        vocabulary = SimpleKofaVocabulary(
+            (_('Muslim'), 'muslim'),
+            (_('Christian'), 'christian'),
+            (_('Others'), 'others'),
+            (_('Prefer not to say'), 'no_say'),)
+        )
+    email = schema.ASCIILine(
+        title = _(u'Email Address'),
+        required = False,
+        constraint=validate_email,
+        )
+    phone = PhoneNumber(
+        title = _(u'Phone'),
+        description = u'',
+        required = False,
+        )
+    recent_schools_comment = schema.Text(
+        title = _(u'Recent Schools Attended (with dates)'),
+        required = False,
+        )
+    present_class_comment = schema.Text(
+        title = _(u'Child\'s Present Class'),
+        description = u'Indicate the child\'s present class. Please attach a copy of the first term result of the present class. Children in Basic Four or less than 10yrs by October should not apply.',
+        required = False,
+        )
+    handicapped_comment = schema.Text(
+        title = _(u'Health Problems'),
+        description = u'Does the child has any special health problem or handicap? If yes, give details.',
+        required = False,
+        )
+    bloodgroup = schema.TextLine(
+        title = _(u'Blood Group'),
+        required = False,
+        )
+    genotype = schema.TextLine(
+        title = _(u'Genotype'),
+        required = False,
+        )
+    notice = schema.Text(
+        title = _(u'Notice'),
+        required = False,
+        )
+    student_id = schema.TextLine(
+        title = _(u'Student Id'),
+        required = False,
+        readonly = False,
+        )
+    locked = schema.Bool(
+        title = _(u'Form locked'),
+        default = False,
+        required = False,
+        )
+
+
+    father_firstname = schema.TextLine(
+        title = _(u'First Name of Father'),
+        required = False,
+        )
+    father_middlename = schema.TextLine(
+        title = _(u'Middle Name of Father'),
+        required = False,
+        )
+    father_lastname = schema.TextLine(
+        title = _(u'Last Name (Surname) of Father'),
+        required = False,
+        )
+    father_status = schema.TextLine(
+        title = _(u'Father\'s Status and Rank'),
+        required = False,
+        )
+    father_employer = schema.TextLine(
+        title = _(u'Father\'s Employer'),
+        required = False,
+        )
+    father_res_address = schema.Text(
+        title = _(u'Father\'s Residential Address'),
+        required = False,
+        )
+    father_contact_address = schema.Text(
+        title = _(u'Father\'s Contact Address (incl. P.O. Box)'),
+        required = False,
+        )
+
+    mother_firstname = schema.TextLine(
+        title = _(u'First Name of Mother'),
+        required = False,
+        )
+    mother_middlename = schema.TextLine(
+        title = _(u'Middle Name of Mother'),
+        required = False,
+        )
+    mother_lastname = schema.TextLine(
+        title = _(u'Last Name (Surname) of Mother'),
+        required = False,
+        )
+    mother_status = schema.TextLine(
+        title = _(u'Mother\'s Status and Rank'),
+        required = False,
+        )
+    mother_employer = schema.TextLine(
+        title = _(u'Mother\'s Employer'),
+        required = False,
+        )
+    mother_res_address = schema.Text(
+        title = _(u'Mother\'s Residential Address'),
+        required = False,
+        )
+    mother_contact_address = schema.Text(
+        title = _(u'Mother\'s Contact Address (incl. P.O. Box)'),
+        required = False,
+        )
 
 class ICustomApplicant(ICustomUGApplicant):
@@ -87,4 +250,8 @@
         show_year = True,
         )
+ICustomUGApplicantEdit[
+    'date_of_birth'].order = ICustomUGApplicant['date_of_birth'].order
+ICustomUGApplicantEdit[
+    'email'].order = ICustomUGApplicant['email'].order
 
 class ICustomApplicantOnlinePayment(INigeriaApplicantOnlinePayment):
Index: main/kofacustom.udss/trunk/src/kofacustom/udss/applicants/utils.py
===================================================================
--- main/kofacustom.udss/trunk/src/kofacustom/udss/applicants/utils.py	(revision 17711)
+++ main/kofacustom.udss/trunk/src/kofacustom/udss/applicants/utils.py	(revision 17712)
@@ -33,2 +33,8 @@
         'app': ['General Application', 'APP'],
         }
+
+    SEPARATORS_DICT = {
+        'form.applicant_id': 'Personal Data of the Child',
+        'form.notice': 'Application Process Information',
+        'form.father_firstname': 'Personal Data of Parents/Guardians',
+        }
Index: main/kofacustom.udss/trunk/src/kofacustom/udss/locales/en/LC_MESSAGES/waeup.kofa.po
===================================================================
--- main/kofacustom.udss/trunk/src/kofacustom/udss/locales/en/LC_MESSAGES/waeup.kofa.po	(revision 17711)
+++ main/kofacustom.udss/trunk/src/kofacustom/udss/locales/en/LC_MESSAGES/waeup.kofa.po	(revision 17712)
@@ -88,5 +88,4 @@
 msgstr "Arm Officer 4"
 
-
 msgid "Pre-Studies"
 msgstr ""
@@ -118,2 +117,8 @@
 msgid "900 (Year 9)"
 msgstr "900 (n/a)"
+
+msgid "Base Data"
+msgstr "Child Base Data"
+
+msgid "I confirm that the Passport Photograph uploaded on this form is a true picture of me."
+msgstr "I confirm that the Passport Photograph uploaded on this form is a true picture of the child."
