Home-made module which provides two content types.
1) Bookable entity. A room, house, castle, car, bike, place in the car ... Basically what you can,on a given day, book once. An availability calendar shows the already booked days. This calendar is an adaptation of the Calendario calendar of Codrops.
2) Bookform. A control script checks is no dates are already booked. In that case the booking is canceled. You can give permission through rights for certain roles to create this content.
Reservations generates immediately an updated calendar. This calendar is adjustable in terms of language. The months that do not automatically come with the translation of Drupal, you can translate manually.
The content type already has some logical fields. Image, price, number of persons ... You can change and add fields.
You can also create a view to present the offer. This I leave to the user ...
The module is very easy. This is also the purpose, BAT and BEE are much better, but more complex modules.