PrestaShop Catalogue Management

DataFirefly Product Rental

Turn your PrestaShop products into rentable items

PrestaShop 8 and 9 module that turns your shop into a full rental fleet management tool. On the product page, a calendar automatically greys out booked dates and the customer picks a period as a range, as two fields with times, or as a start date plus a number of weeks. Pricing works per day with degressive tiers, duration coefficients, seasonal multipliers and fixed packages. The deposit shows as a separate cart line, refundable with a simple credit slip, or switches to a Stripe card imprint: the customer saves their card after the order and you only charge the withholding if damage occurs. On the operations side, a monthly planning visualises each product's occupancy, units carry serial numbers assigned to bookings, check-out and check-in timestamp handover and return with condition reports, and statistics measure occupancy rates and revenue. Payment-free booking requests, synced packs, the REST API, signed outgoing webhooks and cron reminder emails complete the cycle, from cart to equipment return.

At a glance
  • Availability calendar, synced packs and monthly back-office planning
  • Units with serial numbers, check-in and check-out, deposit withholding
  • Seasonal pricing, closing days, fixed packages, tiers or coefficients
  • Deposit as a separate cart line or Stripe card imprint with no charge
  • REST API, signed outgoing webhooks and cron reminder emails in 5 languages
PS 8 & 9 Rental Stripe imprint
  • 30-day refund
  • 12 months updates
  • 24h support
www.datafirefly.com/en/
Product rental module with availability calendar on PrestaShop
v1.11.4 · updated 2026-09-15
What it does

The short version.

01

Availability calendar

Date selection as a two-month range, as two start and end fields with times, or as a start date plus a number of weeks. Booked days greyed out, booking horizon and buffer delay configurable.

02

Back-office planning

Monthly occupancy view per product: free, partial or full cells with the booked quantity, tooltips listing each booking, closing days marked, month-by-month navigation.

03

Units and serial numbers

Each physical item carries its reference. Rental capacity automatically follows active units, a unit under maintenance leaves the stock, and you assign the serial numbers handed to the customer on each booking, with conflict control.

04

Check-in and check-out

One click when the equipment leaves, one click when it comes back: statuses and timestamps follow, with condition reports at handover and return, withheld deposit amount and reason in case of damage.

05

Seasons and closing days

A grid of one-off or yearly recurring seasons that multiplies the daily rate (high season, holidays), and weekly or dated closing days on which no handover or return can happen.

06

Fixed packages and weeks mode

Round prices for exact durations (7 days = 199) that override any calculation, and selection by number of weeks with a computed return date. Rotation model option: the return happens the day after the billed period, one week runs Monday to Monday.

07

Dedicated deposit line

The deposit shows as a separate line in the cart and on the invoice, tax free, without touching the rented product's price. Refund with a simple credit slip on that line. Per-product deposit or automatic global deposit with multiplier, minimum and rounding.

08

Stripe card imprint

The customer saves their card after the order via Stripe Elements, with no charge and no hold on funds. In case of damage, you charge the withholding in one click from the booking sheet. No card data ever goes through the shop.

09

Duration coefficients

Price equals the base amount multiplied by a coefficient from a configurable day-range grid, with priority weekend exceptions and on-request pricing beyond the maximum duration.

10

Payment-free requests

The customer sends a booking request from the product page, you accept or decline it in one click in the back office, with automatic emails and configurable stock blocking.

11

Synced packs

Booking a pack automatically blocks the availability of each of its rentable components over the same period, and booking a component makes the pack unavailable.

12

API and webhooks

Token-based JSON REST API to read and write bookings and availability, plus HMAC-signed outgoing webhooks notifying your software at every step: request, confirmation, handover, return, cancellation.

13

Lifecycle emails

Reminder before the rental starts, reminder before the return and an overdue follow-up, sent in the order's language through a secured cron URL, once per booking.

14

Occupancy statistics

Per product and over the period of your choice: bookings, rented days, occupancy rate, rental revenue and withheld deposits, with totals.

15

Whole catalog as rentals

For rental-only shops: every active product becomes rentable without individual configuration, rate taken from the sale price and rental stock synced with PrestaShop stock.

The long version

Everything you'd want to know before you install.

A detailed look at how DataFirefly Product Rental works, why we built it the way we did, and the thinking behind the features above.

§ 01

A rental mode grafted onto your existing catalog

Not every product in your shop is meant to be sold once and for all. Equipment, furniture, event gear, instruments, vehicles, tools: some items are rented, and PrestaShop has no native mechanism for that. This module adds a rental mode you enable product by product, without denaturing the rest of your catalog. You designate the rentable items, set their daily price, deposit and allowed duration, and the module handles the rest: calendar, price calculation, date blocking and booking tracking all the way to the equipment's return.

§ 02

A calendar that knows your availability

On the product page, the customer picks dates as a two-month range, as two start and end fields with times, or as a start date plus a number of weeks, the return date then computing itself. Already booked days are greyed out, the shop's closing days accept neither handover nor return, and a configurable buffer after each return leaves time to prepare the next item. A booking horizon limits how far ahead customers can book.

§ 03

A daily price that follows your seasons

Pricing works per day, with degressive tiers, a percentage-of-sale-price mode or a duration coefficient grid with weekend exceptions. Seasonal pricing multiplies the daily rate over the periods you define, one-off or recurring every year, end-of-year holidays included. Fixed packages give a round price for an exact duration, 7 days for 199 for instance, overriding any calculation: combined with the weeks mode, they make the offer perfectly readable. An option finally decides whether the return day is billed (calendar counting) or not (rotation model: one week runs Monday to Monday, the return happening the day after the billed period).

§ 04

Run your fleet: planning, units, check-in and check-out

The back-office planning shows each product's occupancy over the month, cell by cell, with the booked quantity and booking details in tooltips. Each physical item can carry a serial number: rental capacity then automatically follows active units, a unit under maintenance leaves the stock, and you assign the references handed to the customer on each booking, with conflict control. When the equipment leaves, one click sets the rental active and timestamps it; on return, one click closes it. Condition reports at handover and return, withheld deposit amount and reason are stored on the sheet, and the Statistics screen measures bookings, rented days, occupancy rate and revenue per product over the period of your choice.

§ 05

The deposit, separate and frictionless

The deposit shows as a dedicated line in the cart and on the invoice, tax free, without ever inflating the displayed price of the rented product. Its refund takes one credit slip on that line. You define it per product or as an automatic global deposit (multiplied base amount incl. tax, with minimum and rounding). And if you prefer not to cash anything, the Stripe card imprint takes over: the customer saves their card after the order on a secured page, with no charge and no hold on funds, and you only charge the withholding in case of damage, in one click from the booking sheet. Card data is handled by Stripe Elements and never goes through the shop.

§ 06

Bookings tracked from cart to return

From the moment it enters the cart, a booking reserves the chosen dates; unconfirmed carts expire and release their dates. At order validation, the booking confirms and links to the customer. Lifecycle emails, triggered by a secured cron URL, remind the customer of their rental start, their return, and follow up when equipment is overdue, in the language of their order. Each rental's details appear in the cart, on the order confirmation, in the back-office order sheet (serial numbers included) and on the My rentals page of the customer account.

§ 07

Payment-free requests, packs, API and webhooks

On the products where you enable it, the customer sends a booking request with their contact details and a message, without checking out; you accept or decline it in one click, automatic emails included. Native PrestaShop packs are synced: booking a pack blocks its rentable components and vice versa. The token-based REST API exposes products, availability and bookings in read and write with idempotency by external reference, and HMAC-signed outgoing webhooks notify your management software at every event: request, confirmation, handover, return, cancellation. No more polling the API to stay in sync.

§ 08

Honest limitations

The card imprint requires a Stripe account, independent from the shop's payment module; the off-session debit of a withholding can be declined by the customer's bank (3-D Secure), in which case the module shows the error and the withholding remains to be collected another way. In the rotation model, the return day is not billed but stays unavailable for another handover that same day, which reflects the reality of equipment not yet returned. Hiding the native add-to-cart button relies on theme selectors that may need a slight adjustment depending on your theme.