Index: WAeUP_SRP/trunk/skins/waeup_accommodation/acco_folder_view.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_accommodation/acco_folder_view.pt	(revision 652)
+++ WAeUP_SRP/trunk/skins/waeup_accommodation/acco_folder_view.pt	(revision 654)
@@ -28,19 +28,10 @@
           <th width="200px">Bed Type</th>
           <th>Total No of Beds</th>
+          <th>Reserved Beds</th>
         </tr>
         <tr tal:repeat="bt bed_types">
           <td tal:content="bt/name" />
-          <td tal:content="bt/count" />
-        </tr>
-      </table>
-      <table tal:condition="info/reserved"
-             tal:define="reserved info/reserved">
-        <tr>
-          <th width="200px">Student</th>
-          <th>Bed</th>
-        </tr>
-        <tr tal:repeat="bt reserved">
-          <td tal:content="bt/student" />
-          <td tal:content="bt/bed" />
+          <td tal:content="bt/total" />
+          <td tal:content="bt/reserved" />
         </tr>
       </table>
Index: WAeUP_SRP/trunk/skins/waeup_accommodation/acco_hall_view.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_accommodation/acco_hall_view.pt	(revision 652)
+++ WAeUP_SRP/trunk/skins/waeup_accommodation/acco_hall_view.pt	(revision 654)
@@ -22,10 +22,23 @@
           <th width="190px">Bed Type</th>
           <th>Total No of Beds</th>
+          <th>Reserved Beds</th>
         </tr>
         <tr tal:repeat="bt bed_types">
           <td tal:content="bt/name" />
-          <td tal:content="bt/count" />
+          <td tal:content="bt/total" />
+          <td tal:content="bt/reserved" />
         </tr>
         <tr><td>&nbsp;</td></tr>
+      </table>
+      <table tal:condition="info/reserved"
+             tal:define="reserved info/reserved">
+        <tr>
+          <th width="200px">Student</th>
+          <th>Bed</th>
+        </tr>
+        <tr tal:repeat="bt reserved">
+          <td tal:content="bt/student" />
+          <td tal:content="bt/bed" />
+        </tr>
       </table>
 
Index: WAeUP_SRP/trunk/skins/waeup_accommodation/formatBed.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_accommodation/formatBed.py	(revision 652)
+++ WAeUP_SRP/trunk/skins/waeup_accommodation/formatBed.py	(revision 654)
@@ -6,3 +6,6 @@
 
 hall,block,room,letter = bed.split('_')
-return "Bed %s in Room %s in Block %s in Hall %s" % (letter,room,block,hall)
+res = context.portal_catalog(portal_type="AccoHall",id=hall)
+if res and len(res) == 1:
+    hall_title = res[0].Title
+return "Bed %s in Room %s in Block %s in Hall %s" % (letter,room,block,hall_title)
Index: WAeUP_SRP/trunk/skins/waeup_accommodation/getAccoFolderInfo.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_accommodation/getAccoFolderInfo.py	(revision 652)
+++ WAeUP_SRP/trunk/skins/waeup_accommodation/getAccoFolderInfo.py	(revision 654)
@@ -39,7 +39,12 @@
 bt_list = []
 bt_names =  context.getBedTypeNames()
+reserved = pa.uniqueValuesFor('student')
 for bt in bed_types:
-    res = pa(bed_type=bt)
-    bt_list.append({'name': bt_names[bt], 'count': len(res)})
+    total = len(pa(bed_type=bt))
+    free = len(pa.searchResults({'bed_type': bt,'student':reserved}))
+    bt_list.append({'name': bt_names[bt],
+                    'total': total,
+                    'reserved': free,
+                    })
 info['bed_types'] = bt_list
 reserved = pa.uniqueValuesFor('student')
Index: WAeUP_SRP/trunk/skins/waeup_accommodation/getAccoHallInfo.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_accommodation/getAccoHallInfo.py	(revision 652)
+++ WAeUP_SRP/trunk/skins/waeup_accommodation/getAccoHallInfo.py	(revision 654)
@@ -29,8 +29,21 @@
 bt_list = []
 bt_names =  context.getBedTypeNames()
+reserved = pa.uniqueValuesFor('student')
 for bt in bed_types:
-    res = pa(bed_type=bt,hall=context.getId())
-    bt_list.append({'name': bt_names[bt], 'count': len(res)})
+    total = len(pa(bed_type=bt))
+    free = len(pa.searchResults({'bed_type': bt,'student':reserved}))
+    bt_list.append({'name': bt_names[bt],
+                    'total': total,
+                    'reserved': free,
+                    })
 info['bed_types'] = bt_list
+res_list = []
+if reserved > 1:
+    for st in reserved:
+        if st:
+            res = pa(hall=context.getId(),student=st)
+            if res:
+                res_list.append({'student': st, 'bed': context.formatBed(res[0].bed) })
+info['reserved'] = res_list
 
 return info
