Index: main/waeup.kwarapoly/trunk/CHANGES.txt
===================================================================
--- main/waeup.kwarapoly/trunk/CHANGES.txt	(revision 11623)
+++ main/waeup.kwarapoly/trunk/CHANGES.txt	(revision 11629)
@@ -4,4 +4,6 @@
 1.2dev (unreleased)
 ===================
+
+* More special payment fee categories added.
 
 * Fees are required and must not be set to None.
Index: main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/interfaces.py
===================================================================
--- main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/interfaces.py	(revision 11623)
+++ main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/interfaces.py	(revision 11629)
@@ -82,15 +82,30 @@
         )
     state_result_fee = schema.Float(
-        title = _(u'Statement of Result Fee'),
+        title = _(u'ND Statement of Result Fee'),
+        default = 0.0,
+        required = True,
+        )
+    hnd_state_result_fee = schema.Float(
+        title = _(u'HND Statement of Result Fee'),
         default = 0.0,
         required = True,
         )
     transcript_local_fee = schema.Float(
-        title = _(u'Transcript (local) Fee'),
+        title = _(u'ND Transcript (local) Fee'),
+        default = 0.0,
+        required = True,
+        )
+    hnd_transcript_local_fee = schema.Float(
+        title = _(u'HND Transcript (local) Fee'),
         default = 0.0,
         required = True,
         )
     transcript_foreign_fee = schema.Float(
-        title = _(u'Transcript (foreign) Fee'),
+        title = _(u'ND Transcript (foreign) Fee'),
+        default = 0.0,
+        required = True,
+        )
+    hnd_transcript_foreign_fee = schema.Float(
+        title = _(u'HND Transcript (foreign) Fee'),
         default = 0.0,
         required = True,
@@ -132,5 +147,10 @@
         )
     loss_idcard_fee = schema.Float(
-        title = _(u'Loss of ID Card Fee'),
+        title = _(u'Loss of ID Card Fee (student)'),
+        default = 0.0,
+        required = True,
+        )
+    staff_loss_idcard_fee = schema.Float(
+        title = _(u'Loss of ID Card Fee (staff)'),
         default = 0.0,
         required = True,
@@ -157,5 +177,10 @@
         )
     conv_brochure_fee = schema.Float(
-        title = _(u'Convocation Brochure Fee'),
+        title = _(u'ND Convocation Brochure Fee'),
+        default = 0.0,
+        required = True,
+        )
+    hnd_conv_brochure_fee = schema.Float(
+        title = _(u'HND Convocation Brochure Fee'),
         default = 0.0,
         required = True,
Index: main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/interswitch/browser.py
===================================================================
--- main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/interswitch/browser.py	(revision 11623)
+++ main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/interswitch/browser.py	(revision 11629)
@@ -178,4 +178,20 @@
         elif self.context.p_category == 'conv_brochure':
             self.pay_item_id = '127'
+        elif self.context.p_category == 'hnd_certificate':
+            self.pay_item_id = '128'
+        elif self.context.p_category == 'hnd_state_result':
+            self.pay_item_id = '129'
+        elif self.context.p_category == 'hnd_transcript_local':
+            self.pay_item_id = '130'
+        elif self.context.p_category == 'hnd_transcript_foreign':
+            self.pay_item_id = '131'
+        elif self.context.p_category == 'staff_loss_idcard':
+            self.pay_item_id = '132'
+            dalash_amt = 6.0
+            xmldict['dalash_amt'] = 100 * dalash_amt
+            provider_amt = 9.0
+            gateway_amt = 15.0
+        elif self.context.p_category == 'hnd_conv_brochure':
+            self.pay_item_id = '133'
         elif 'maintenance' in self.context.p_category:
             self.pay_item_id = '102'
@@ -334,4 +350,20 @@
             elif self.applicant.special_application == 'conv_brochure':
                 self.pay_item_id = '127'
+            elif self.applicant.special_application == 'hnd_certificate':
+                self.pay_item_id = '128'
+            elif self.applicant.special_application == 'hnd_state_result':
+                self.pay_item_id = '129'
+            elif self.applicant.special_application == 'hnd_transcript_local':
+                self.pay_item_id = '130'
+            elif self.applicant.special_application == 'hnd_transcript_foreign':
+                self.pay_item_id = '131'
+            elif self.applicant.special_application == 'staff_loss_idcard':
+                self.pay_item_id = '132'
+                dalash_amt = 6.0
+                xmldict['dalash_amt'] = 100 * dalash_amt
+                provider_amt = 9.0
+                gateway_amt = 15.0
+            elif self.context.p_category == 'hnd_conv_brochure':
+                self.pay_item_id = '133'
             else:
                 xmldict['institution_acct'] = '00000000000'
Index: main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/utils/utils.py
===================================================================
--- main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/utils/utils.py	(revision 11623)
+++ main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/utils/utils.py	(revision 11629)
@@ -58,8 +58,12 @@
         'hostel_maintenance': 'Hostel Maintenance Fee',
         'application': 'Application Fee',
-        'certificate': 'Certificate',
-        'state_result': 'Statement of Result',
-        'transcript_local': 'Transcript (local)',
-        'transcript_foreign': 'Transcript (foreign)',
+        'certificate': 'ND Certificate',
+        'hnd_certificate': 'HND Certificate',
+        'state_result': 'ND Statement of Result',
+        'hnd_state_result': 'HND Statement of Result',
+        'transcript_local': 'ND Transcript (local)',
+        'hnd_transcript_local': 'HND Transcript (local)',
+        'transcript_foreign': 'ND Transcript (foreign)',
+        'hnd_transcript_foreign': 'HND Transcript (foreign)',
         'ver_result': 'Verification of Result',
         'change_course': 'Change of Course',
@@ -69,10 +73,12 @@
         'ref_let': 'Recommendation/Reference Letter',
         'proc_cert': 'Processing of Certificate by Proxy',
-        'loss_idcard': 'Loss of ID Card',
+        'loss_idcard': 'Loss of ID Card (student)',
+        'staff_loss_idcard': 'Loss of ID Card (staff)',
         'loss_examcard': 'Loss of Exam Card',
         'loss_result': 'Loss of Result',
         'loss_receipt': 'Loss of Receipt',
         'loss_clearance': 'Loss of Clearance',
-        'conv_brochure': 'Convocation Brochure',
+        'conv_brochure': 'ND Convocation Brochure',
+        'hnd_conv_brochure': 'HND Convocation Brochure',
         }
 
@@ -83,8 +89,12 @@
         'carryover3': 'Three CarryOvers',
         'hostel_maintenance': 'Hostel Maintenance Fee',
-        'certificate': 'Certificate',
-        'state_result': 'Statement of Result',
-        'transcript_local': 'Transcript (local)',
-        'transcript_foreign': 'Transcript (foreign)',
+        'certificate': 'ND Certificate',
+        'hnd_certificate': 'HND Certificate',
+        'state_result': 'ND Statement of Result',
+        'hnd_state_result': 'HND Statement of Result',
+        'transcript_local': 'ND Transcript (local)',
+        'hnd_transcript_local': 'HND Transcript (local)',
+        'transcript_foreign': 'ND Transcript (foreign)',
+        'hnd_transcript_foreign': 'HND Transcript (foreign)',
         'ver_result': 'Verification of Result',
         'change_course': 'Change of Course',
@@ -94,10 +104,12 @@
         'ref_let': 'Recommendation/Reference Letter',
         'proc_cert': 'Processing of Certificate by Proxy',
-        'loss_idcard': 'Loss of ID Card',
+        'loss_idcard': 'Loss of ID Card (student)',
+        'staff_loss_idcard': 'Loss of ID Card (staff)',
         'loss_examcard': 'Loss of Exam Card',
         'loss_result': 'Loss of Result',
         'loss_receipt': 'Loss of Receipt',
         'loss_clearance': 'Loss of Clearance',
-        'conv_brochure': 'Convocation Brochure',
+        'conv_brochure': 'ND Convocation Brochure',
+        'hnd_conv_brochure': 'HND Convocation Brochure',
         }
 
