Skip to content

Powered by Grav CMS + Helios Theme

Getting started: a bed and breakfast

Set up four identical double rooms with a two-night minimum and optional breakfast. This guide adapts the whole-property setup to rooms sold from a shared pool.

Run the following command to create this example, or follow the steps to build it manually. Running the command again skips records that already exist.

BASH
bin/plugin kahunacart-rentals seed bnb

Before you begin

  • KahunaCart 1.2.11 or later, KahunaCart Bookings 1.0.0 or later, and bin/plugin kahunacart migrate run once after this add-on went in.
  • Manage Bookings and Setup (kahunacart.bookings.manage), and kahunacart.products.manage for the product.

1. Create an all-day schedule

Bookings → Schedules → New hours.

Field What to put
Name Harbour rooms, always open
Days All seven ticked
Each day One block, 00:00 to 24:00

Assign an all-day schedule to the room resource. Without applicable hours, every night is Closed. Multiple room records can share the schedule.

2. Add the location

Bookings → Locations.

Field What to put
Name The harbour rooms
Address 4 Quay Street, Kinsale, Co. Cork
Hours Harbour rooms, always open

3. Add a pool of four rooms

Bookings → People and places → Add somebody or something, pick Property.

Field What to put
Name Double room
How many 4
Hours Harbour rooms, always open
Location The harbour rooms
Colour violet

The capacity of four lets guests book an interchangeable double room without selecting a room number. The calendar shows the remaining capacity for each night.

A shared pool needs one booking calendar and one set of rules for these identical rooms.

Use separate records when rooms have different features or prices, need individual selection, or are listed separately on other sites. An imported calendar blocks every unit on its record. See Booking.com calendar setup.

4. Create room and breakfast options

Under KahunaCart → Products → Add, create one product with Type set to Booking and two options.

Field What to put
Title Double room
Slug harbour-double-room
Summary A double overlooking the harbour. Four of them, all the same.
Option Room only, $139.00, SKU HARBOUR-ROOM
Option With breakfast, $159.00, SKU HARBOUR-BB

Both options share one booking rule and rate card. The quote uses the selected option’s nightly price.

Breakfast is an option because the guest chooses it and it changes the nightly price.

Give an option its own booking rule only when its booking requirements differ. It then has a separate rate card. Otherwise, it inherits the product rule.

5. Enable nightly bookings

Bookings → Services, find the product, press Set it up, and set How it is booked to Nightly stay.

Field What to put
It sleeps 2
Notice you want 4 hours
How far ahead 365 days
New bookings Confirm straight away
Paid for Online
Hours to fall back on Harbour rooms, always open

Add a need:

  • What to call it: Room
  • The pool: Double room
  • The customer picks which: off

Notice is measured in hours. Choose a short notice period if you accept same-day arrivals.

6. Set the stay rules

Field What to put
Check in from 3:00pm
Check out by 11:00am
Shortest stay 2 nights
Longest stay 14 nights
Arrivals on / Departures on Nothing ticked — any day
It sleeps 2
The nightly rate covers 2
Each guest after that none
Cleaning fee none
Damage deposit none
Filling the gaps off

Check-in at 3:00pm and check-out at 11:00am allow same-day changeovers.

It sleeps and The nightly rate covers are both two, so this setup has no extra-guest charge.

Leave Cleaning fee empty for this example’s inclusive nightly price.

Untick Do not take a stay that would leave a gap too short to sell for this example. The gap rule treats the property as available while any room is free, so it is less useful for a pool of interchangeable rooms.

7. Set payment terms

Field What to put
Deposit none — the whole amount at checkout
The rest is due not used
Cancelling no policy

This example collects full payment at checkout. Its cancellation policy creates requests with no refund due under the configured rules. To offer deposits, see Taking payment.

8. Use the standard nightly rate

No rate bands are needed for year-round option prices. The Rates tab shows a flat rate. Add a band for dates requiring a seasonal price.

Dates outside any band use the selected option’s price.

9. Review the example stays

The seed adds two overlapping stays to demonstrate shared capacity:

Who When Guests
Ms Farrow 3 nights, five days from today 2
The Adeyemis 3 nights, six days from today 2

With arrivals on the fifth and sixth days, availability changes from four rooms to three, then two, and returns to three after the first departure.

10. Test the booking page

Open Double room, choose Room only or With breakfast, and select three nights. Check that the quote uses $139 or $159 per night without additional fees.

A one-night request should report 2 nights minimum. Dates covered by both example stays should still show two rooms available.

11. Write arrival instructions

Enter access details, parking and breakfast times under What to tell them before they arrive. These instructions appear only in the arrival email, sent three days ahead by default. See The two messages.

Room selection limitation

Recurring weekend-only minimums are unsupported. Minimum stays apply to the whole property or a dated rate band, rather than selected weekdays throughout the year.

The example therefore uses a two-night minimum for all arrivals.

Continue setup

  • For holiday lets - the whole-property walkthrough, for the steps this page did differently
  • A stay's rules - what a night is, the calendar states and the gap rule
  • Guests and fees - who the rate covers, and what the extras cost
  • Channel sync - connect feeds to the appropriate room records