Sql availability query error
Try using the following query (Considering you are using mysql):

SELECT rt.id, rt.type, 
    rt.total_no_of_rooms, 
    if(SUM(r.no_of_rooms) IS NULL,0,SUM(r.no_of_rooms)) as "reserved rooms", 
    (rt.total_no_of_rooms - if(SUM(r.no_of_rooms) IS NULL,0,SUM(r.no_of_rooms))) as "rooms available"
FROM Roomtypes rt LEFT OUTER JOIN Reservations r 
    ON r.roomtype_id = rt.id 
    AND '2018-04-11 10:00:00' &gt;= r.check_in 
    AND '2018-04-12 09:59:59' &lt;= r.check_out 
GROUP BY rt.id, rt.type, rt.total_no_of_rooms


I have just added condition to check NULL value. If you are using PostgreSQL, use COALESCE function.