DEBUT Bookings for Checkfront

Description

DEBUT Bookings puts your Checkfront inventory on your own pages instead of in an embedded widget. Visitors see a calendar of what’s on, pick a date, and choose a session, all in your site’s fonts, colours and layout. When they click Book now, they go straight to that item and date on your Checkfront booking page to pay, so your payments, deposits, emails and reports keep working exactly as they do now.

What it does

  • A calendar of what’s on. One month at a time, with a dot on every date that has availability, beside the sessions for the selected date. It stops at the last month you’re taking bookings for.
  • Activity pages too. The same calendar for a single item, to put on each activity’s own page.
  • Guided setup. Connect, choose categories, pick a look and create your bookings page in a few minutes.
  • Live availability and prices from your Checkfront account, with spaces left on every session (“2 spaces left” when it’s nearly full).
  • Cards or list. Cards show one card per activity with its times inside; list shows a timetable, one row per session.
  • Morning, afternoon and evening filter on busy days.
  • Category filter across the top, using your Checkfront categories. Hide the ones you don’t want shown anywhere (add-ons, gift vouchers) on the Categories screen.
  • Items bookable on request (no fixed sessions) shown separately for the date.
  • Book now goes straight to the item and date on your Checkfront booking page.
  • Looks like your site. Fonts and text colours come from your theme. Pick an accent colour, corner style and card style, or go further with CSS custom properties.
  • Fast. Responses are cached, the next few dates are loaded in the background, and pages work without JavaScript.
  • Blocks and shortcodes for the block editor, classic editor and page builders.

Built for developers

Every template can be overridden from your theme, and everything the plugin shows is available in PHP:

$item = debut_bookings_get_item( 435 );
echo $item->name;              // White Water Tubing
echo $item->formatted_price(); // £64.99

foreach ( $item->sessions( '2026-11-14' ) as $session ) {
    echo $session->time();     // 09:30 – 12:00
    echo $session->spaces;     // 10
}

Also: debut_bookings_get_items(), debut_bookings_get_sessions(), debut_bookings_next_available(), debut_bookings_get_categories(), template hooks around every card, row and time slot, and filters on the data. See the FAQ.

DEBUT Bookings is an independent plugin by DEBUT Studio. It is not made, endorsed or supported by Checkfront.

Need more?

DEBUT Studio builds custom Checkfront booking journeys on WordPress, and can set the plugin up and style it for you. debut.studio

External services

This plugin uses Checkfront, the booking system you connect it to. It only works with a Checkfront account, and only connects to the account you enter in the settings.

From your website’s server to the Checkfront API

  • What is sent: your Checkfront API key and secret (to authenticate), and the item IDs, category IDs and dates being looked up. The list of categories and items customers can book online is fetched without your key, as a customer would see it. Nothing about your site’s visitors is sent this way.
  • When: when a page showing plugin content is viewed or a visitor picks a date or category, and the answer isn’t already cached; and when you connect, test the connection or open the Categories screen in the settings.
  • Where: https://{your-account}.checkfront.com/api/3.0/ (or .checkfront.co.uk).

From your visitors’ browsers to Checkfront

  • Images: activity images are the ones you uploaded to Checkfront and load directly from Checkfront’s servers, so a visitor’s browser shares its IP address and browser details with Checkfront when it shows them. Turn images off with show_image="0" if you’d rather not.
  • Book now: clicking Book now takes the visitor to your Checkfront booking page, where Checkfront’s own terms apply.

Checkfront is provided by Checkfront Bookings Inc.: Terms of Service, Privacy Policy.

Screenshots

Blocks

This plugin provides 2 blocks.

  • Item availability Upcoming sessions for one item, with Book now links for each date. For activity pages.
  • Bookings planner A calendar of what's on, beside the sessions for the selected date, with Book now links to your booking system.

Installation

  1. Install and activate the plugin, then go to DEBUT Bookings. The setup steps open automatically.
  2. Connect: enter your Checkfront address, then create an API key in Checkfront (Manage Developer New Application, choosing Token) and paste in the key and secret. The connection is tested before anything is saved.
  3. Categories: untick anything customers shouldn’t browse, such as add-ons or gift vouchers.
  4. Look: pick an accent colour and a layout.
  5. Bookings page: create a page with the planner on it in one click, or add the Bookings planner block or [debut_bookings] shortcode yourself.

For an activity page, add the Item availability block or [debut_bookings_availability id="123"].

FAQ

Do I need a Checkfront account?

Yes. The plugin shows the inventory and availability you’ve set up in Checkfront. Your Checkfront plan needs API access.

Does it take bookings or payments?

No. Customers choose a session on your site, then complete the booking and payment on your Checkfront booking page, so nothing changes in how you take payments.

Which shortcodes are there?

The Shortcodes tab in the plugin settings lists them all with copy buttons, along with your own items and categories and their IDs, so you don’t have to look anything up in Checkfront.

  • [debut_bookings] – the calendar and sessions. Attributes: category and ids (limit to category or item IDs), layout (cards or list), times (1 or 0 for the time of day filter), pills (0 hides the category filter), show_price, show_image, button (button text).
  • [debut_bookings_item id="123"] – one item with its details and upcoming sessions.
  • [debut_bookings_availability id="123"] – the calendar and sessions for one item, for an activity page (no image or title on the sessions, since the page has them). Attributes: layout, times, button.
  • [debut_bookings_book_now id="123"] – a Book now button for one item. Optional date="20261114".

How do I change the templates?

Copy any file from the plugin’s templates folder to a debut-bookings folder in your theme and edit it there. Templates receive Debut_Bookings_Item and Debut_Bookings_Session objects.

Which hooks are there?

Actions: debut_bookings_before_card, debut_bookings_card_body_end, debut_bookings_after_card, debut_bookings_before_row, debut_bookings_after_row.
Filters: debut_bookings_template (template path), debut_bookings_template_vars, debut_bookings_theme_vars (CSS custom properties), debut_bookings_format_price, debut_bookings_periods (morning, afternoon and evening boundaries).

Why does a date show nothing when Checkfront looks open?

If Checkfront has no sessions published for that date, or bookings aren’t open that far ahead, the plugin shows the next date that has availability instead. Add ?dbk_debug=1 to the page while logged in as an administrator to see exactly what Checkfront returned and why each item was shown or hidden.

How far ahead does the calendar go?

12 months by default. Change it under Settings Availability window (up to 24). Dates past that aren’t shown, and categories with nothing on before then don’t get a button. This matters because Checkfront treats dates with no season or rates set up as open: without a limit, a category with nothing on for a while would jump to “available every day” a year or two away.

How up to date is availability?

Very. Spaces for the date a visitor is looking at are at most a minute old, and a session that’s nearly full is checked with Checkfront live. The calendar and what customers can see (hidden items and categories) update every 5 minutes, and item details and prices every 30 (change this under Advanced). To update everything straight away, click Refresh from Checkfront at the top of the plugin’s screens. Bookings are always checked by Checkfront itself, so a customer can never book a place that’s gone.

Why are some categories greyed out?

They’re hidden from customers in Checkfront, so they can’t be booked on your Checkfront booking page: Book now would show “No results found”. The plugin checks what customers can book (using Checkfront’s public API, the same view your customers get) and leaves those categories and their items out. To show one, make the category visible to customers in Checkfront. The Categories screen shows the change as soon as you reload it, and your site picks it up within a few minutes.

Will it work with page caching?

Yes. Pages with a date or category in the address are excluded from full-page caches automatically, and the calendar corrects itself if a cached page is from an earlier day.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“DEBUT Bookings for Checkfront” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.0

  • First release.