How to manage reservations with a 2 hours duration without duplicate bookings?
If you don't want to re-invent the wheel, have a look at these contributed modules that are typically used for this (quotes are from their project pages):


Availability Calendars.


  ... allows you to add an availability calendar to entities. Example use cases are tourist accommodation, e.g. bed and breakfast, holiday homes or self catered apartments, and car or motor bike rental.
  
  An availability calendar shows your customers at what dates your accommodation is still available and at what dates it is already booked.

Simple Reservation.


  ... provides a simple and easy way to reserve items which can be created by the administrator. Examples for it's usage can be hotel rooms, boats, cars, airplanes, basically anything you can think of which can be reserved by one individual.
  
  The module provides the possibility to create reservations for other users (dependend on the permissions), and provides also restrictions in the maximum number of reservations a user can make and a maximum time a reservation can be made in advance.
  
  There is NO support for payment, booking and what ever one could imagine beyond the pure and simple reservation, and it is also NOT intended to create more than this simple functionality.