Hi,
Ok for your second question, group by hotel in your query and add a calculated field to calculate the available occupancy something like the following
AvailableOccupancy: 20-Sum([NoofGuests*])
* or whatever you call your field that stores the number of customers booked in for each booking.
HTH