Introducing BAT - Booking and Availability Management for... Everything | Roomify

Introducing BAT - Booking and Availability Management for... Everything

Ronald Ashri

Towards the end of October 2015 we announced a broader vision for our company. Roomify aims to provide the tools that will allow anyone to manage the booking and availability of resources - whatever those may be. We consider this a core component of an open sharing economy platform.

After that announcement, we went to work. We kept our head down, the coffee (and tea) flowing and focused on what needed to be done to achieve this goal. Today we are thrilled to announce that BAT is ready to be downloaded and tested more widely.

What is BAT

Booking and availability management are non-trivial problems. It took several iterations and blood, sweat, and tears to get us to where we are today, and we are excited to share our first public beta with you!

BAT is a framework for building domain-specific tools that handle bookings and/or manage availability. This is analogous to Drupal being a framework for building domain-specific content management tools. BAT makes no assumptions about what booking rules you have or what types of resources you are dealing with. You can book items for a few minutes or a few days. You can have many different events associated with your items. Our goal was to abstract what it means to manage availability to the most general level, and let you provide the details based on your specific needs.

At a more technical level we also had to deal with wanting BAT to be immediately useful to the huge amount of Drupal 7 sites out there, while allowing a clear upgrade path to Drupal 8. We also wanted to make it available to the wider PHP community. Therefore, the core of BAT is actually “simply” . All the core components are there and you can drop them in any PHP application. The we are also releasing today is a Drupal specific wrapper and UI for the library. This means that upgrading to BAT Drupal 8 will be much much simpler. In addition, there is also the which gives us REST access to our event data.

Show me!

There is a lot to talk about when it comes to BAT.  BAT does not make any assumptions about your application and can handle anything from nightly-style bookings for a hotel, to bookings just a few minutes in length. You can create any number of bookable things and add as many individual units for each type as you need, and you get a great Calendar interface to manage it.

BAT Hourly Booking Example

For those interested in seeing it in action, check out the screencast below. 






We hope you will give BAT a whirl and we can’t wait to see what people will build with it. If you are building a website or application that needs a booking component, get in touch. We are excited to work with companies that need bespoke booking solutions, and with BAT we have an amazingly flexible and very powerful tool that can meet your exact needs.

Ronald Ashri
Ronald is a co-founder at Roomify and the creator of the Drupal Rooms module and the BAT Library.



That update rocks.

I'm currently working on an online bike rental project and the previous release of BAT was the best answer i found.

Everything is much more clear now and seems to be nicely interfaced with views and rules.

Great job!

Looks awesome! 1) My use case involves reservations within my organization that have no cost (rooms, vehicles, equipment). So, can BAT stand alone without Commerce installed? 2) Can I assign fields to an event that might describe a client reporting that a room/vehicle they had booked needed maintenance (TV broken or flat tire), or other comments about the event? Thanks for your work and I'm looking forward to getting a demo set up!

Hi Frank - yes BAT makes no assumptions about your booking use case. So there is no Commerce requirement and you have access to all the things you can normally do with Entities and Fields in Drupal so 2 should be very straighforward.


For the reservation of a training center, it would be nice if we could book a reservation upon a taxonomy item so we can extract an invoice report from Drupal to create the invoice. Is that possible?

BAT Bookings are entities that can be managed in Drupal just like nodes or Commerce orders, etc. As such you can connect the bookings to taxonomy terms and then generate reports!

Add comment