How to Create an Online Booking System in 24 Hours (or Less)

By Kyla Steeves

Booking ManagementBooking Management

Not going to lie; probably the biggest frustration with implementing an online booking system is the configuration process. You have a unique business with specific requirements, and reservation technology isn’t always a one-size-fits-all solution. 

When choosing an online booking system, it’s important to consider whether it can handle most of your business complexities. Take Checkfront, for instance. Our booking software supports a wide variety of product types — including tours, activities, rentals, accommodation or a mixture of everything. 

Depending on your business, the set-up process could take time to figure out. But once you’re over this hump, it gets so much easier. And with a free trial, you have 21 days to explore the booking platform, familiarize yourself with its capabilities, and see if it’s a good fit before making the jump. 

To give you an idea of how to create an online booking system for your business, we’ll walk through the steps of a basic configuration in Checkfront using a hypothetical example — The London Experience:

  1. Enter company details
  2. Add products and inventory
  3. Customize the Booking Page
  4. Enable an online payment flow
  5. Connect booking system to website
  6. Automate booking notifications
  7. Create digital waivers and documents
  8. Assign users and commissions
  9. Initiate reporting and analytics
  10. Integrate other business tools

1. Enter company details

First things first, Leah, the business owner, creates an account for The London Experience. In doing so, she can tailor the booking platform to her company’s time zone, base currency, language, hours of operation, and more. 

Using the Navigation menu, she clicks on Manage, then Setup and sees four tabs where she can input essential business information:

  1. Company:  Leah enters her Company Name, Website URL, selects the Primary Industry as Bus Tours and the Secondary Industry as Bed and Breakfast, and finally, adds Contact Info, which includes her email address, phone number, and business location
  2. Locale: she selects Europe/London as the Time Zone, UK Pounds as Base Currency, English as the Language, en_GB for the Locale, and the Date and Time Format that she prefers
  3. Configuration: with default settings already in place, she notices that she can configure some of these options on a per-item basis and decides to skip this step for now
  4. Calendar: after selecting Customize Hours Available, she clicks Open for every day of the week and sets the hours of operation from 9:00 am to 5:00 pm, designating the timeframe for availability, not when guests can make bookings online (that’s always 24/7)
Entering company details in Checkfront

2. Add products and inventory

The London Experience offers over 20 different types of bookable experiences — ranging from walking tours to bungee jumping to overnight stays in Manchester. 

To keep everything organized in Checkfront, Leah creates four main Categories for all of her products by going to Inventory, then Categories. Here are the categories she creates:

  1. Tours
  2. Activities
  3. Rentals
  4. Accommodation
Setting up product categories in online booking system

Since Leah has done her homework and wants to use the Hero Page Booking Layout with the Grid display for her website, she includes a photo and description for each category that best represent the experiences that fall within. This makes it easier for guests to narrow their search by selecting a category first on the Booking Page.

Hero Page booking layout with grid display

Next, she’s ready to add her products. In Checkfront, products are classified as Items, like a walking tour, zipline course, kayak rental, deluxe queen room, and even a gift certificate or merchandise. Leah starts with her most popular tour — a bus tour of London’s top sites.

The bus tour has two ticket types: Individual and Family (2 Adults and 2 Children). Rather than have separate items on the Booking Page, Leah plans to create a Product Grouping with a Parent Item called The Must-See Bus Tour of London, and two Child Items, one for each ticket.

That way, when someone goes to book the bus tour, they can either select the Individual or Family Ticket option to see the appropriate price points — which makes for a more streamlined booking experience. 

Booking steps for bus tour

(She can also do this if the bus tour has different durations to choose from, like a half-day and full-day bus tour) 

Heading over to Inventory, then Items, she clicks on +New Item to set up the first Child Item in the Item Builder by following these steps:


  1. Category: since Leah created categories already, she simply selects Tours from the drop-down menu
  2. Item Name: the Parent Item will be called The Must-See Bus Tour of London, so she names this Child Item, Individual Ticket
  3. Summary: she leaves this blank because she’ll fill this in for the Parent Item, which will display on the Booking Page
Edit product description in item builder


Leah also skips this section, knowing that she’ll be able to add tour photos when creating the Parent Item. 


  1. Inventory: Leah sets the Inventory to 20 because there are only 20 seats available on the bus
  2. Parameters: to set different prices for adults and children, Leah creates two new parameters, also known as guest types. In the pop-up form, Leah checks off all of the fields for both, from Guests to Controls Inventory, but only selects Required for the Adult Parameter considering at least one adult must be present for the bus tour
  3. Allocation: Leah clicks on Timeslots and adds two-hour timeslots starting with 9:00 am to 11:00 pm, and the last as 3:00 pm to 5:00 pm — closing time. Under Timeslot Settings, she selects Buttons for Booking Display and toggles on Show Unavailable Slots for the Booking Page
Setting up timeslot availability in Checkfront


Leah charges guests on a per timeslot basis for the bus tour and sets the standard price for adults at £60 and children at £50. To reward large group bookings with a discount, she also adds a new group pricing for both the Adult and Child parameters (school field trips) by entering the quantity of 11 to 20 with a £10 price reduction.

But she’s not done with pricing yet. Although The London Experience operates year-round, they tend to get fewer bookings during the wettest months in England, October to January, so Leah decides to offer a low season rate as well. 

Under Item Events, she clicks on Create New Item Event and selects Seasonal Item Event from the drop-down. In the pop-up form, Leah fills out the following:

  1. Name: Low Season Rate
  2. Price: Dynamic
  3. Dynamic Price: she enters -15 and selects Percent
  4. Applicable Days: since weekends are usually busy no matter what, she only checks weekdays for the low season rate, then sets the start date as October 1st and end date, January 31st
  5. Ruleset: she doesn’t have any restrictions to enforce, but in the future, might consider adding a Cutoff of one day to prevent same day bookings since she only has a skeleton crew in the low season
  6. Apply to: Leah applies the Item Event to the entire Tours Category because every tour she’ll end up adding will need a low season rate
  7. After double-checking the form, she hits Save and sees the new Pricing Table displayed for reference
Adding seasonal rates to product pricing in booking system

Before moving on, Leah turns on the Ecommerce toggle under Additional Options to allow guests to pay at the time of booking.


Since the bus tour is the first Item Leah has created so far, she doesn’t have anything for an Item Add-On but plans on creating an optional Photo Package that guests can include at a discounted price. This add-an will show up on the Booking Form for the bus tour. 

Nearly finished, Leah hits Save, then More and Copy, to work on the second Child Item. Keeping mostly everything the same, she only:

  • changes the Item Name to Family Ticket 
  • creates two Family parameters in Attributes, one that controls Inventory with a default value of 4 (family size) and one that doesn’t with a default value of 1
  • enters a price of £200 per timeslot / per Family Ticket (2 adults + 2 children)
Adding family ticket parameter to bus tour in booking system

Parent Item

After completing both Child Items, Leah moves on to the Parent Item by copying the Family Ticket and making the following changes:

  1. Item Name: she gives the bus tour a descriptive name — The Must-See Bus Tour of London — making sure to include the local target keyword (bus tour of London)
  2. Summary: Leah writes a brief description that tells potential guests all about the bus tour, and again, sprinkles a couple of keywords for SEO purposes because this text will appear on the website

Leah can continue to the next step, but there are more details she wants to share with guests for this particular tour, so she clicks Additional options.

  1. Details: she adds more information about the bus tour, including a detailed outline of the itinerary and on board amenities, like free snacks and wifi
  2. Email Notification Details: knowing that she’ll want to automate email notifications for this tour, Leah prepares a specific message which covers what guests need to know and bring along for the ride. When she sets up a booking reminder email later, she just has to insert the variable {$BOOKING_EXTRA_DETAILS} somewhere within the message, and this information will auto-populate   
  3. More Info URL: Leah links to the FAQ page in case potential guests want to find out more
  4. Sort Order: Leah gives it a high number, ensuring that it will show up first on the Booking Page because it’s her most popular tour
Adding extra product details for bus tour in Checkfront

Since nothing convinces someone that a tour is worth booking than authentic yet professional images of other guests enjoying the experience, Leah uploads a few different photos of the bus tour in the Media section and even links to its promo video on YouTube. 

As the Product Grouping Parent, this Item takes on the same Attribute and Pricing settings as the Child Items. That means Leah doesn’t have to do anything else except add an Inventory Control, which she can quickly do by entering the same quantity as before or toggle on Simple Item under Additional Options in Attributes. 

Once that’s complete, she skips right to Packages, where she selects Parent under Product Grouping and both tickets, Individual and Family, under Child Items. Before hitting Save, Leah also turns on Show child prices in dropdown under Product Group Pricing so that guests can see the difference in pricing for Individual and Family Tickets right away. 

Product grouping packages for bus tour tickets

3. Customize the Booking Page 

Before adding every product, Leah wants to test the The Must-See Bus Tour of London on her website. In order to do that, she must first set up the Booking Page, so she heads on over to Manage, then Layout:


Leah uploads the London Experience logo, adds her company name for the Logo Text (what appears next to the logo on the Booking Page), and changes the header to her primary brand colour. 

Customizing branding on booking page

Booking Page

As previously mentioned, Leah likes the look of the Hero Page Booking Layout, so she clicks Hero Page right away and completes the following:

  • Uploads a 1920×450 banner image that best represents the types of experiences her company offers (she could also add a YouTube Background Video here instead)
  • Sneaking in a keyword for SEO, Leah enters the Hero Text Overlay (Booking Page heading) as Guided Sightseeing Tours of London
  • since she plans on integrating a Booking Widget on her website, Leah selects Show hero image/video on embedded pages
  • She chooses Tabs for Category Display, Tours for Category Default, Keyword Search for Search Bar Options, and to create urgency; she also selects Number of items available to customers under Show so that guests can see how many spots are left  
  • she completes the rest of the settings, which includes customizing the wording for Sold Out and Unavailable Items
Booking page layout for London tour company

Booking Form

Leah adds the following form fields for the primary booker to fill out at the time of booking:

  • Name
  • Email
  • Address
  • How did you hear about us?

Since it’s best practice to keep the number of booking process steps to a minimum, she only marks Name and Email as required fields so that the primary booker can get to checkout as soon as possible. Lengthy booking forms only stand in the way. 

Editable booking form in online booking system

Guest Form

Just because the Booking Form is short, it doesn’t mean that Leah can’t get all the specific details she needs from guests. Instead of passing out paper forms at check-in, she can collect important information ahead of time on a per guest basis with the Guest Form.

All she needs to do is activate the add-on under Manage and Integrations. Then, she can add as many form fields as she wants, including things like Dietary Restrictions or Accommodation Preference (for overnight tours). 

How does it work?

After checkout, the primary booker lands on the Guest Details Page where they can either submit each participant’s email address or share the link with members in a group chat. That way, every guest can access the Guest Form to fill out in their own time (before check-in). 

Editable guest form fields in Checkfront


Leah sets up the Booking Invoice — what the guest sees at checkout and in the booking confirmation email — by entering a title, uploading her logo, adding company details (including the ticket office address as the meeting point), and selecting the Pay Now Link option.

Here’s where she also copies over the Booking & Cancellation Policy, which covers the required deposit, refund and cancellation rules, and what happens in case of itinerary changes. This will display at the bottom of the invoice, as well as the Booking Form where guests must click to agree to the Terms and Conditions before continuing to checkout.

Example of booking invoice with cancellation policy


Strictly for back-end administration, Leah customizes the Booking Statuses with labels and colours that will make the most sense to her staff members.  

List of booking status examples

4. Enable an online payment flow

To take partial payment at the time of booking, Leah must set up an online payment flow using a supported payment gateway like Checkfront Payments, Square, or PayPal. 

In Checkfront, there are over 32 options available in 230 countries, but since she already uses Stripe Terminal for her point of sale (POS) system, she integrates Checkfront Payments by going to Manage, then Ecommerce Setup, and following the required steps. 

Under Settings and Taxes, Leah also adds a 25% deposit and a value-added tax (VAT) of 7% for tour products and 10% for accommodation. 

Image of Checkfront's eCommerce options - showing Checkfront Payments highlighted.

5. Connect your booking system to your website

All looks good to go after a quick test! So, Leah goes ahead and adds the rest of her products in Item Builder and embeds the Booking Widget on her website by generating a code from the add-on found on the Integrations page.

Connecting booking system to website with booking widget

6. Automate booking notifications

Rather than call or message each guest individually, Leah sets up automated email and text notifications in Checkfront. Based on the Booking Status, each notification will trigger for a different purpose:

  • Booking Confirmation: once a guest completes a reservation, they’ll get an email confirmation with their Booking ID for future reference
  • Booking Receipt: after payment, either partial or full, the guest will receive the invoice in their inbox
  • Booking Reminder: one day before check-in, the guest will get a reminder about their upcoming booking, with everything they need to know about the tour, just in case they forget
  • Thank-you: one day after the experience, they’ll receive a message thanking them for joining the tour, along with a friendly ask to write an online review
  • Staff Assignment: notifications aren’t just for guests! Leah sets up one more specifically for her operations manager to let them know of new bookings that need a tour guide scheduled

Next, we’ll go over how to create automated notifications using the Booking Reminder email as an example:

  1. Leah goes to Manage, then Notifications and clicks + New Notification
  2. Using email variables for the Subject line, she writes Reminder: {$BOOKING_ITEMS} on {$BOOKING_DATE}, which will look like Reminder: The Must-See Bus Tour of London on Mon Oct 12, 2020
  3. She selects the Booking Status as Deposit and schedules the Booking Reminder for one day before the booking start date
  4. Leah adds the front desk’s email,, as the From and Reply-to address
  5. She selects Customer as Recipient and applies the notification to all of her Tours, Activities, Rentals, and Accommodation
  6. In the Email Editor, Leah writes a customized message that includes the guest’s name, booking date and time, an embedded map of the meeting spot, and the {$BOOKING_EXTRA_DETAILS} she initially created in Item Builder 
Editor for booking reminder email

7. Create digital waivers and documents

The London Experience requires guests to sign liability and damage waivers for select products. But like the Guest Form, Leah doesn’t like printing and filing paper waivers all the time, so she activates the Waivers integration and creates Digital Waivers for them to sign online before check-in:

  1. She heads to Booking, then Waivers & Documents, and clicks on Create Template
  2. In the pop-up, Leah names the form, Liability Waiver
  3. After copying and pasting her current Liability Form, saved in Microsoft Word, she adds editable fields for the guest to fill out, including Name, Date, Signature, and Minor’s Section
  4. Clicking on Configuration, Leah applies the Liability Waiver to all tours and activities, writes a brief explanation for the guest, sets the Due Date as one day before the start date, and schedules a reminder to go out two days before the due day
  5. She previews the document, hits Save, and repeats the steps for the Damage Waiver, except applies it to her rentals and accommodation instead
Digital waiver and document editor

8. Assign users and commissions

Of course, Leah won’t be the only person using the booking system at her company. The front desk staff, lead tour guide, and operations manager also need access. Not to mention, she has a few hotel partnerships that make bookings on her behalf. 

In her Checkfront Plan, Leah gets ten Staff Accounts and twenty Partner Accounts. To add them to the system, she goes to Manage, then User Accounts and starts with the front desk staff by clicking New Staff. 

Staff Accounts

Although three different guest service agents run the front desk, they all share the same email, That means Leah only needs to create one Staff Account — named Front Desk. First name: Front. Last name: Desk. Brilliant, we know. 

But since she doesn’t want to give them full access, she goes to Permissions, turns off the Admin toggle, and manually de-selects the views she doesn’t want them to see, like Reports.

Assigning staff accounts in Checkfront

Partner Accounts

As for the concierges, she follows the same steps under Partner Accounts but creates a separate account for each hotel and enables permissions to process payments for any of her bookable products. 

Then, she goes to Manage and Commissions to set up a New Commission Group specifically for hotel partnerships. She labels the group Concierges, assigns it to the partner accounts she just created and finally, enters the agreed-upon commission rates for each product in the table. 

Now, one of the vendors wants to sell The London Experience products on their website as well. So, Leah lets them know that they can log into their account, go to Manage, then Integrations, and follow the steps for embedding the Booking Widget, the same way she did initially. 

Adding partner commission rates in Checkfront

9. Initiate reporting and analytics

Since Leah hasn’t launched yet, there are no bookings in the system for reporting and analytics. But she can still customize the Daily Manifest, which will show all reservations each day, including guest details, that she can print off for her tour guides and drivers to cross-reference. 

Other reports include:

  • Sales Report
  • Transaction Report
  • Revenue Report
  • Booking Volume
  • Cashout Report
  • Occupancy Report
  • Booking Traffic
  • Commissions Report
  • and more!

(See, if Leah still had a spreadsheet booking system, she’d have to export information or bounce between sheets constantly. Instead, all of her data is centralized in Checkfront).

Checkfront Daily Manifest

10. Integrate other business tools

We’re not done yet! Because Checkfront acts as an ecosystem where Leah can house all of her other business tools, she heads to Manage, then Integrations to start the process of connecting each one by one. 

Here are the Checkfront Integrations she sets up, to name a few (or several): 

  • Google Analytics: to track bookings in the E-commerce report so that she can better analyze purchase activity and conversions
  • GetYourGuide: to sell her products on the online travel agent (OTA) platform in real-time (she does this for Viator,, and Expedia, too)
  • MyAllocator: to automatically manage inventory and availability across OTA channels
  • Xero: to sync booking invoices, guest records, and other transactions with her accounting software
  • Facebook Advertising: to retarget almost-bookers with Facebook Ads that highlight the products they showed interest in
  • MailChimp: to opt-in guests that subscribe to her newsletter mailing list during the booking process
  • Zapier: to connect all of her different tour operator apps and automate repetitive booking tasks
  • Zoho CRM: to keep guest records updated for every new booking that comes in
  • Currency Display: to display product prices on the Booking Page in a guest’s local currency
Image showing Checkfront Integration options

Ready to launch!

That’s it! Leah is ready to go live with online bookings for The London Experience. To see the booking process in action, check out the next chapter.

Want to learn more about what you can do with an online booking system?

Download the Complete Guide to Online Booking Systems

Learn all about this software, then sign up for a free trial, already knowing what your business needs most!

Next Chapter: Booking Process Steps

Previous Chapter: How Does Online Booking Work

Home: Everything you need to know about a Website Booking System