Commerce for a booking site: go or no go?
We're currently having some heated debates wether or not to use Drupal Commerce for a booking site similar to AirBnB. There are many reasons to use Commerce (VAT, multilanguage, currency, payments etc etc...) but there are also some reasons that create doubt:
* On a booking site, registered users offer their space or service to be booked by others (so what exactly is the product)
* Booking requires calendars and availabilities
So the million dollar question for us: is Drupal Commerce similar enough to an booking website to use it as the basis for this project, or are the differences too big to justify that decision.
We would be happy to hear your thoughts!
Comments
Rooms
Hi - as the main dev behind Rooms (http://www.drupal.org/project/rooms) I can tell you that our experience in doing booking with Drupal and Drupal Commerce has been very positive. A key decision, however, was to think carefully about how to use Drupal Commerce. For example, availability and stock are different concepts and should be treated differently. So we have all the booking aspect of things handled by Rooms which then packages a product for Commerce to handle payment.
Rooms learnings
Ronald, first of all congratulations with the Rooms module. It's a major achievement. In fact, we have installed the module and played around with it a lot. We also reached out via [email protected] to buy consulting services (but so far no answer).
The main question for us was: we're talking about a c2c booking website like AirBnB. People like you and me rent a room in their own house. We got stuck with the fact if each user should be a hotel (not default Rooms) or if the website should be a hotel and we automatically create a room for each user during account creation. So although we are convinced of the power of Rooms, we were not able to decide if it would fit a c2c booking site purpose.
You could achieve this using
You could achieve this using Entity Registrations and Commerce Registration.
I've used the 2 modules along with Commerce to create a Training Course booking site which has availability spaces for Courses and also works with the Calendar module to display a list of upcoming events.
Entity Registration allows you to let any entity you define become bookable. It also lets you create a Registration Type, which allows you to collect any information you require and also set a limit on how many slots are available.
So you could create a content type called 'Space' and 'Service' and assign a registration field to these content types which will reference a registration type which you have created.
Will look into it
Thanks, We will have a look at these two modules! They look perfect for a registration site, but will it also work for a c2c website where all users can create Spaces to be booked?
After the two above comments,
After the two above comments, sounds like a go! I personally hope you not only choose Drupal Commerce, but you hang around in the community and share your experiences :D
Absolutely! If we choose
Absolutely! If we choose Drupal Commerce (which we have used succesfully in the past for webshops), we will definitely hang around. In fact, on several occasions we have shared or Drupal learnings during local (Belgian) Drupal events.
Similar project
I'm planning a similar project to yours and I wonder if you've managed to do it with Rooms or the other mentioned modules. Could you share any update on this and on how you managed this?
Thank you!
the result
Hey,
What is the result and what appraoch did you use?
thx
Interested
I'm currently working on a similar project and looking into Rooms, merci, AGreservations, resource_booking.
Could you share an update on your findings and how you managed this?
Thank you!
We used Drupal Commerce and Rooms best practices
Several people asked what we decided: we ended up with Drupal commerce and a custom booking entity based on the some of the approaches in Rooms. So far it's going really well.
Keep us updated! Glad to hear
Keep us updated! Glad to hear Drupal Commerce made the final cut.
Josh