Can i create a booking form that doesn't allow double booking?

Can i create a booking form that doesn't allow double booking?

Hi,

I'm trying to create a room booking form with online payment. 

There is one room available between 9 and 11pm.

Is there a way of creating the form so that more than one person can't book the room for the same time? Ideally, there would be a calendar that is greyed out on already booked days.

I want to use a form because i need to push the record through to a calendar report. 

Thanks