Index: main/waeup.kofa/trunk/src/waeup/kofa/students/export.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/export.py	(revision 12862)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/export.py	(revision 12865)
@@ -350,6 +350,6 @@
 
 
-class StudentPaymentsExporter(grok.GlobalUtility, StudentExporterBase):
-    """The Student Payments Exporter first filters the set of students
+class StudentPaymentExporter(grok.GlobalUtility, StudentExporterBase):
+    """The Student Payment Exporter first filters the set of students
     by searching the students catalog. Then it exports student payment
     tickets by iterating over the items of the student's ``payments``
@@ -379,8 +379,8 @@
                 value = getattr(student, name, None)
         return super(
-            StudentPaymentsExporter, self).mangle_value(
-            value, name, context=context)
-
-class DataForBursaryExporter(StudentPaymentsExporter):
+            StudentPaymentExporter, self).mangle_value(
+            value, name, context=context)
+
+class DataForBursaryExporter(StudentPaymentExporter):
     """The DataForBursary Exporter works just like the Student Payments Exporter
     but it exports much more information about the student. It combines
@@ -418,9 +418,9 @@
                 value = getattr(student, name, None)
         return super(
-            StudentPaymentsExporter, self).mangle_value(
-            value, name, context=context)
-
-class BedTicketsExporter(grok.GlobalUtility, StudentExporterBase):
-    """The Bed Tickets Exporter first filters the set of students
+            StudentPaymentExporter, self).mangle_value(
+            value, name, context=context)
+
+class BedTicketExporter(grok.GlobalUtility, StudentExporterBase):
+    """The Bed Ticket Exporter first filters the set of students
     by searching the students catalog. Then it exports bed
     tickets by iterating over the items of the student's ``accommodation``
@@ -452,5 +452,5 @@
             value = getattr(getattr(context, 'bed', None), 'bed_type')
         return super(
-            BedTicketsExporter, self).mangle_value(
+            BedTicketExporter, self).mangle_value(
             value, name, context=context)
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_export.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_export.py	(revision 12862)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_export.py	(revision 12865)
@@ -29,5 +29,5 @@
 from waeup.kofa.students.export import (
     StudentExporter, StudentStudyCourseExporter, StudentStudyLevelExporter,
-    CourseTicketExporter, StudentPaymentsExporter, BedTicketsExporter,
+    CourseTicketExporter, StudentPaymentExporter, BedTicketExporter,
     StudentPaymentsOverviewExporter, StudentStudyLevelsOverviewExporter,
     ComboCardDataExporter, DataForBursaryExporter,
@@ -712,10 +712,10 @@
         return
 
-class StudentPaymentsExporterTest(StudentImportExportSetup):
+class StudentPaymentExporterTest(StudentImportExportSetup):
 
     layer = FunctionalLayer
 
     def setUp(self):
-        super(StudentPaymentsExporterTest, self).setUp()
+        super(StudentPaymentExporterTest, self).setUp()
         self.setup_for_export()
         return
@@ -723,7 +723,7 @@
     def test_ifaces(self):
         # make sure we fullfill interface contracts
-        obj = StudentPaymentsExporter()
+        obj = StudentPaymentExporter()
         verifyObject(ICSVStudentExporter, obj)
-        verifyClass(ICSVStudentExporter, StudentPaymentsExporter)
+        verifyClass(ICSVStudentExporter, StudentPaymentExporter)
         return
 
@@ -738,5 +738,5 @@
         payment = StudentOnlinePayment()
         payment.creation_date = datetime.datetime(2012, 4, 1, 13, 12, 1)
-        exporter = StudentPaymentsExporter()
+        exporter = StudentPaymentExporter()
         exporter.export([payment], self.outfile)
         result = open(self.outfile, 'rb').read()
@@ -756,5 +756,5 @@
         self.setup_student(self.student)
         payment = self.student['payments']['my-payment']
-        exporter = StudentPaymentsExporter()
+        exporter = StudentPaymentExporter()
         exporter.export([payment], self.outfile)
         result = open(self.outfile, 'rb').read()
@@ -775,5 +775,5 @@
         # set values we can expect in export file
         self.setup_student(self.student)
-        exporter = StudentPaymentsExporter()
+        exporter = StudentPaymentExporter()
         exporter.export_all(self.app, self.outfile)
         result = open(self.outfile, 'rb').read()
@@ -794,5 +794,5 @@
         # set values we can expect in export file
         self.setup_student(self.student)
-        exporter = StudentPaymentsExporter()
+        exporter = StudentPaymentExporter()
         exporter.export_student(self.student, self.outfile)
         result = open(self.outfile, 'rb').read()
@@ -815,5 +815,5 @@
         notify(grok.ObjectModifiedEvent(self.student))
 
-        exporter = StudentPaymentsExporter()
+        exporter = StudentPaymentExporter()
         exporter.export_filtered(
             self.student, self.outfile, current_level=200)
@@ -836,5 +836,5 @@
         self.app['students'].addStudent(self.student)
         notify(grok.ObjectModifiedEvent(self.student))
-        exporter = StudentPaymentsExporter()
+        exporter = StudentPaymentExporter()
         # A key xxx does not exist
         self.assertRaises(
@@ -926,10 +926,10 @@
         return
 
-class BedTicketsExporterTest(StudentImportExportSetup):
+class BedTicketExporterTest(StudentImportExportSetup):
 
     layer = FunctionalLayer
 
     def setUp(self):
-        super(BedTicketsExporterTest, self).setUp()
+        super(BedTicketExporterTest, self).setUp()
         self.setup_for_export()
         return
@@ -937,7 +937,7 @@
     def test_ifaces(self):
         # make sure we fullfill interface contracts
-        obj = BedTicketsExporter()
+        obj = BedTicketExporter()
         verifyObject(ICSVStudentExporter, obj)
-        verifyClass(ICSVStudentExporter, BedTicketsExporter)
+        verifyClass(ICSVStudentExporter, BedTicketExporter)
         return
 
@@ -953,5 +953,5 @@
         bed = self.app['hostels']['hall-1']['hall-1_A_101_A']
         bedticket.bed = bed
-        exporter = BedTicketsExporter()
+        exporter = BedTicketExporter()
         exporter.export([bedticket], self.outfile)
         result = open(self.outfile, 'rb').read()
@@ -969,5 +969,5 @@
         self.setup_student(self.student)
         bedticket = self.student['accommodation']['2004']
-        exporter = BedTicketsExporter()
+        exporter = BedTicketExporter()
         exporter.export([bedticket], self.outfile)
         result = open(self.outfile, 'rb').read()
@@ -985,5 +985,5 @@
         # set values we can expect in export file
         self.setup_student(self.student)
-        exporter = BedTicketsExporter()
+        exporter = BedTicketExporter()
         exporter.export_all(self.app, self.outfile)
         result = open(self.outfile, 'rb').read()
@@ -1001,5 +1001,5 @@
         # set values we can expect in export file
         self.setup_student(self.student)
-        exporter = BedTicketsExporter()
+        exporter = BedTicketExporter()
         exporter.export_student(self.student, self.outfile)
         result = open(self.outfile, 'rb').read()
@@ -1019,5 +1019,5 @@
         notify(grok.ObjectModifiedEvent(self.student))
 
-        exporter = BedTicketsExporter()
+        exporter = BedTicketExporter()
         exporter.export_filtered(
             self.student, self.outfile, current_level=200)
