Drupal booking system and BNBForms booking widget.

How to Create a Drupal Booking System with Third-Party Tools

If you are looking for the Drupal booking system, chances are, you’ve encountered such things as Roomify that allow you to connect a complete solution for vacation rentals and BNBs to your Drupal.

This solution is specifically made for the CMS in question, allowing you to run a Drupal online booking system without a need to resort to third-party tools. But on the cons side, it’s a complex framework that requires a learning curve. You don’t want to prod developers with questions every day, do you? This integration is not super handy for beginners or property owners.

If you fall into the category of the latter and just want to embed a normal booking form to collect property booking submissions without bells, whistles or, God forbid, coding, then get ready to discover a solution that we have been working on for many years already.

It’s the BNBForms platform that you can connect to your Drupal today and at no cost (there is a 30-day trial period). Then if you like it, you can subscribe to the service and manage unlimited bookings, clients and properties for just $16 per month. 

Although the extreme affordability of BNBForms is one of its key benefits, let’s not focus solely on the cost. Instead, let’s shed more light on what it actually is, how it works, and how to turn it into a Drupal booking module.

Our free resources for hotel owners:

What is BNBForms and how can it replace Drupal booking availability tools?

BNBForms is a vacation rental software. It ships with all the needed range of tools to fit that name:

  • A mobile-friendly booking widget.
  • Online payment processing.
  • Online availability calendars.
  • Property directory builder.
  • Connection to third-party travel platforms and calendar apps.
  • Keeping records of clients and payments and more.

This platform is designed in the first place to assist property owners who manage their own websites: inns, hotels, trailer rental, or vacation rentals of other types. This means it ships with the admin dashboard made for humans! You’ll be working in the dashboard like so:


You can easily connect BNBForms to any existing domain and website, whether the latter is on Drupal or any other CMS, including Wix and WordPress, to name just a few popular names.

📊 Compare: What is the Best Vacation Rental Software? Compare Features & Pricing

How to get started and test BNBForms?

  1. Create an account with BNBForms.
  2. Start adding the key information about your property – individual accommodations, their images, property capacity, bed types, etc.
  3. Set up pricing rates and optionally available discounts.
  4. Manage taxes and fees.
  5. Create an email template for automated email notifications.
  6. Set up any applicable booking rules.
  7. Activate the payment methods you want if you plan to accept rental payments online.
  8. Sync calendars to external sites you might be using via iCal.
  9. Customize the color scheme of the booking widget to your liking – see BNBForms examples.

These are the basic steps you need to perform when you are just setting up your account. But we are just scratching the surface – you can tailor many more settings to fit the needs of your rental business.

💡 Discover: Best Vacation Rental Website Builders for Direct Bookings

📃 Simplify Billing with Automated Hotel Invoice Generator

How to add BNBForms to Drupal? 

To make BNBForms function as a Drupal reservations booking system, you just need to copy and paste the code generated in your personal BNBForms account to the dedicated areа in Drupal.

Drupal dashboard

The steps are below:

First of all, copy the code snippet that will add a booking system to your site: go to your BNBForms > widget script > copy.

  1. On your Drupal, navigate to Manage > Structure > Block Layout.
  2. From Block Layout select ‘Custom block library’.
  3. Select ‘Add custom block’.
  4. Choose a ‘Basic block’.
  5. To add a custom block to the Basic block, select Full HTML in Text format > select Body menu > click Source > paste the BNBForms code and then save the changes.

6. Navigate to Manage > Structure > Block Layout > choose a block area that will be displayed on all pages and located at the bottom > place it. Select Block layout > click Save blocks at the bottom of the page.

7. Once these steps are performed, the BNBForms-generated ‘Book Now’ button must appear on your Drupal site. Now you have your own Drupal booking system!

bnbforms-drupal-10 book now button

Accept bookings, show the property details, register and collect payments automatically and more without a dedicated Drupal booking calendar.

See the full guide with screenshots here: Drupal booking system with BNBFroms.

bnbforms-drupal-14 booking details

Let’s now take a closer look at how BNBForms works and how you can customize it.

How to edit the booking widget?

There are multiple ways you can edit the widget to make it perfect for the visual scheme of your Drupal site as well as set the functional preferences.

Here are a few possibilities: 

  • Fully customize the color scheme of the booking widget.
  • Remove the ‘adults’ and ‘children’ fields or replace it with a universal ‘guests’ one.
  • Set the age of children of the ‘Children’ field.
  • Set any other custom search filters (amenities, location, pet-friendly, etc.).

As you see, it’s easy to set up a Drupal hotel booking system the way you need with BNBForms.

How to enable online rental payments via Drupal booking system with BNBForms

bnbforms-drupal-18 checkout page

At no additional expense, it is possible to activate a range of payment methods including PayPal, 2Checkout, Stripe, Braintree, Bambora, direct bank transfer, and payment on arrival.

Additionally, you can enable deposit payments which permit guests to pay only a portion of the total cost upfront.

This could be useful for securing a booking, while still allowing guests the flexibility to pay the remaining amount closer to the check-in date. Basically you just need to activate the needed payment methods in the BNBForms settings.

How to use the channel manager on your Drupal website?

add ical url

If you also list your properties on other websites, BNBForms makes it possible to sync your Drupal’s site bookings with these exact external resources. This will help you keep all the bookings centralized and never get overbooked.

All this is performed thanks to the iCal support, but this also means you need to do some work in exchanging links between your site and those external websites.

And then the sync process is almost automatic, you need to set up the clock for the preferred exchange time and then it will be synced without a need to keep an eye on it.

Moreover, the iCal format is rather universal, allowing you to connect popular calendar applications, such as Apple Calendar or Google Calendar, in addition to the websites like Booking.com or Airbnb.

Set the needed pricing ranges and seasonal prices

Pricing rates for properties in BNBForms account.

You are the boss of your property, you have complete control over your pricing strategy with BNBForms.

You can set prices based on different rules and factors such as the duration of the guest’s stay, the number of guests, the availability of amenities, and even offer custom coupons (there are tons of settings for them!).

For example, you may choose to offer a discount for longer stays or charge a higher rate for peak periods. Similarly, you could set a price based on the number of guests staying or factor in the availability of specific amenities.

Needless to say, you have the option to add various types of taxes and fees to the base rental property cost, as well as choose to display these costs at checkout or even before guests can book a property.

Manage bookings you receive via your Drupal website


BNBForms offers a range of screens and menus to help you manage bookings and clients with minimum effort. For instance, you can view upcoming bookings in a calendar format, which provides a quick overview of your occupancy rates.

You can also switch rooms or dates by guest request, making it easy to manage changes or modifications to bookings.

Furthermore, there are various graphic and chart displays that allow you to visualize your earnings and booking trends over a specified period. This feature helps you gain insights into how your property business performs and how people use your website.

This is helpful to track your revenue and bookings, with or excluding taxes/canceled bookings and more. It might get really exciting when you indulge in some playful data visualization with BNBForms!

Final word on creating a Drupal booking calendar with BNBForms

There is no easy-to-go booking module Drupal can offer you.

However, you can easily add a Drupal calendar booking feature to your current site, and what’s really spectacular, it’s super handy for anyone without tech skills.

Simply invest some time in setting up your property rental system to your desired specifications, and you’ll be ready to embed it onto your Drupal website and start collecting bookings. Give it a go by clicking on the link below.