Skip to main content

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.
A Booking is the temporary reservation; a Rental is what it becomes once it’s paid for. Understanding that hold-then-confirm lifecycle is the key to everything on this page.

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 AdminCirculy Rental & SubscriptionsRentalsBookings, 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.
Because an admin booking has no auto-expiry, it will keep holding inventory until you either confirm it or cancel it. If a phone order falls through, cancel the booking so the dates free up — see Rental cancellations & refunds.

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.

Rental cancellations & refunds

Releasing holds, handling line conflicts, and refunding confirmed rentals.

Theme extension setup

Adding the storefront blocks, including the rental calendar.