Rental pricing doesn’t fit a normal product page: the price isn’t $40, it’s $40 per day, and the total depends on dates the customer hasn’t told you yet. WooCommerce alone can’t ask. With a Date Range field and per-day pricing, the product page collects the hire period and does the arithmetic itself.
The addon setup
- Hire period — Date Range, priced per day, required. The customer picks a start and end date; the plugin multiplies the days by your daily rate: 3 days × $12.00 = +$36.00, live, before Add to Cart.
- Damage protection — Single Checkbox, percentage pricing. Insurance that scales with the item’s value automatically — 10% of a $500 camera is very different from 10% of a $50 tripod, and percentage pricing handles both with one field.
- Accessories — Multiple Choice as checkboxes with per-option prices: spare battery, tripod, carry case. Use a selection limit (“choose up to 3”) if stock is tight.
- Delivery notes — Long Text, optional, for site access details.
- I accept the rental terms — Single Checkbox, required. No agreement, no checkout.
Why it works
- The quote calculates itself. Date maths is exactly the kind of thing customers get wrong and staff repeat all day. The live totals box shows the day count and the price the moment both dates are in.
- Dates land where fulfilment looks. The hire period is stored on the order line — the confirmation email, the packing bench and your calendar all read the same dates.
- Plans change without phone calls. The Edit options link on the cart line reopens the product with the dates prefilled, so extending a hire from 3 days to 5 is a customer-side edit, not a support ticket.
- Phone bookings stay in the same system. Staff taking a booking by phone use the Configure addons button on a manual order — same fields, same per-day math.
Build it
The Date Range field and per-day pricing mode are covered in the documentation. Create one Rental group, target your hire categories, and set different daily rates per category if equipment tiers differ. Preview with a few date pairs to sanity-check the day counting before launch.