Overview
The Rental Engine lets customers rent a product for a chosen date range instead of buying it outright. Behind the scenes, every rental moves through two clear stages:Booking
A pre-payment hold. The units are reserved for the selected dates, but
no money has changed hands yet.
Rental
A confirmed, paid rental. Once a booking’s order is paid, the booking
converts into a rental.
What the customer sees
When you’ve added the rental calendar to a rentable product’s page (see adding the calendar block), the customer rents in a few simple steps.1
Pick a date range
On the product page, the customer chooses Start date and End date in
the rental calendar — or taps a preset duration such as 3 days,
1 week, or 2 weeks. The calendar only offers dates that are actually
available: it respects the product’s rental capacity and any blackout dates
you’ve set, marking everything else as Unavailable (for example
Fully booked, Closed, or Public holiday).
2
Add to cart — a Booking holds the units
When the customer adds the rental to their cart, a Booking is created
and the units for those dates are held. The hold keeps those units off
the table so no one else can grab the same dates while the customer checks
out.
3
Complete checkout
The customer pays through the normal Shopify checkout. The hold gives them a
window to finish — by default 30 minutes (you can change this; see the
note below).
4
The Booking becomes a Rental
When the order is paid, the Booking converts automatically into a confirmed
Rental. The reservation is now locked in and the customer is on their
way.
Cart timeout. A storefront hold lasts 30 minutes by default. If the
customer doesn’t complete checkout in time, the hold is released and the dates
return to availability for everyone else. You can override this timeout for
your store if you need a longer or shorter window.
More than one rental in a cart. A customer can have several rental lines in
the same cart. Each rental line is its own independent Booking with its own
availability check, so they don’t interfere with one another. If a single line
runs into a conflict, only that line is affected — see
Rental cancellations & refunds
for how conflicts are handled.
Bookings vs Rentals
The lifecycle is the same whether a rental starts on the storefront or is created by you in the admin — only the timing of the hold and how it’s confirmed differ.
How a Booking becomes a Rental
- Storefront orders convert automatically the moment the order is paid.
- Holds expire. A storefront hold that isn’t paid within the cart timeout is released, and the dates become available again.
- You can confirm manually. For bookings that don’t flow through a Shopify checkout, you confirm them yourself with Mark as confirmed (see below).
The shorthand: a Booking is a promise on some dates; a Rental is a
paid commitment to them. Nothing is permanently committed until the booking
converts.
Create a booking as an admin
Some rentals never go through the online checkout — phone orders, in-person arrangements, or anything you arrange manually. For those, you can create the booking yourself.Where to go
Go to Shopify Admin → Circuly Rental & Subscriptions → Rentals → Bookings, then click New booking. The form explains its own behaviour at the top:Creates a held booking that reserves inventory for the range. The hold auto-expires unless you mark it as confirmed on the booking page — use that for phone or manual orders that don’t go through checkout.
Fill in the booking
1
Choose the Rental asset
Select the product being rented from the Rental asset dropdown.
2
Choose a Pricing template
Pick a Pricing template. This drives the timings and locks in the
pricing for the rental.
3
Set the dates and quantity
Enter a Start date and End date for the rental, and the Quantity
of units. The form checks availability for the range as you fill it in, so
you’ll know straight away whether the dates can be held.
4
Create the booking
Save the booking. Inventory is held immediately for the chosen range.
What’s different about an admin booking
Holds immediately
Unlike a storefront cart, an admin booking holds inventory the moment you
create it.
Starts as Pending
The booking opens in the Pending state rather than converting on its
own.
No auto-expiry
There’s no cart timeout — the hold stays put. You own its lifecycle.
Confirming an admin booking
A Pending admin booking has two ways forward:- It converts automatically when its order is paid — for example, if you turn it into a Shopify order that the customer pays.
- You confirm it manually. On the booking’s page, use Mark as confirmed to promote the held booking straight to a confirmed rental. From that point it no longer auto-expires and you own its lifecycle.
Adding the calendar to your storefront
Customers can only book if the rental calendar is on the product page. It’s added through the Shopify Theme Editor as part of the storefront purchase selector — no coding required.Theme extension setup
Add the purchase selector (with the rental calendar) to your product pages
through the Theme Editor.
Related
Rental cancellations & refunds
Releasing holds, handling line conflicts, and refunding confirmed rentals.
Theme extension setup
Adding the storefront blocks, including the rental calendar.