added more criteria and bookable logic