This extension is built to help you sell and manage rental products through your WooCommerce store. Whether you’re shipping items, offering local pick-up and return, or handling local delivery. It’s flexible enough to support a wide range of use cases, from tools and tech to fashion and event gear, and open-ended enough to adapt to your specific rental workflow. If you’re unsure how to set things up or run into trouble, just get in touch—we’re happy to help you get everything working smoothly. Thank you for choosing Rental Products for WooCommerce!
Installation and updates
↑ Back to topInstallation
↑ Back to topCheck this guide on how to install an extension from WooCommerce.com.
Before using Rental Products on a production website, we recommend thoroughly testing it on a staging/development environment.
The same process should also be followed when updating any aspect of your website — when performing installations/updates, making changes to any configuration, custom web development, etc.
Updates
↑ Back to topCheck this guide on how to update an extension from WooCommerce.com.
Always refer to the changelog before updating.
Getting started with Rental Products
↑ Back to top- Perform the installation steps in the Installation & Updates sections above.
- Go to Rentals > Settings and configure the settings as you require, or use the default options.
- Add or edit a product and set one of the following options if you want to create a rental product:
- Rental only: Choose this option if you want to only offer the product for rental.
- Rental or purchase: Choose this option if you want to continue offering this product for sale.
- Use the Rental product data and Product data metaboxes to set any rental options required e.g. pricing, availability, and more.
- For variable products, there are additional rental options available when editing each variation.
- Save the product; it will now be available for rental in your store.
- Rental Products adds rental stock/price in the columns in the Products > All Products list. Note that you can also filter the products list by rentals.
- When a customer orders rental products, the order will show an – Includes rentals suffix next to the order name. In the orders list, you can also filter the orders list by Order including/excluding rentals.
- For details on how to manage or edit orders with rentals, read the information in the managing rental orders section.
- The Rentals menu gives you access to a list of sub-menus:
- Dashboard, which offers the latest and flagged rental orders and provides inventory insights,
- Calendar, where you can view an overview of every customer rental in calendar,
- Inventory, with shortcuts to rental orders, products, and settings, and
- Tools, for advanced rental product management.
Rental Products Settings
↑ Back to topThis documentation includes examples of using Rental Products based on a US store using $USD
Introduction
↑ Back to topYou can configure the majority of the Rental Products plugin settings via Rentals > Settings.
Each setting offers a short description of how they can be used. Keep in mind that for some settings, more detailed information can be revealed by hovering over the tooltip icon.
Rental form
↑ Back to topConfigure the rental form shown on rental product pages.
Configuring settings for the rental form
Layout
Choose the layout of the rental form:
- Theme: this option displays the rental form as per your theme CSS.
- Theme compatibility: this option can be used if you find the theme option is displaying the rental form oddly. It will use most of your theme’s CSS, but attempt to override some rental form elements. The goal is to display fields vertically and keep form field sizes consistent.
- Light, dark, and the boxed options are similar to theme compatibility with some additional styling applied.
Position
Choose where you’d like the rental form to be positioned on the the product pages.
The available options are:
- Before the product quantity field
- After the product quantity field
For more details on rental form positioning, see the related FAQ in this documentation.
Date Format
Format of rental dates displayed when a customer selects dates using the rental form on product pages. Allowed formats are:
- D, DD,
- M, MM, MMM, MMMM,
- YYYY.
Note: Day, month and year must be included. If these are not included and/or an incorrect format is used, then it is likely to cause issues with rental functionality.
This setting is also used for the availability checker.
Date Selection
Select how you’d like your customers to select the dates in the rental form calendar. The options offered are:
- Auto apply selected dates: Automatically applies the dates selected in the rental form calendar.
- Use apply/cancel button: cancel and apply buttons are shown. The apply button must be clicked to apply the dates selected.
You should disable this setting if you have rentals which allow selections of both single and multiple days in the same calendar. Otherwise, users will have to double-click single day rentals.
This setting is also used for the availability checker.
Auto select end date
Checking this will automatically set the end date when a start date is selected.
This will only occur on rental products which allow selection of a singular range. For example, it will not occur if pricing type is period and pricing period multiplies is enabled. That’s because multiples of the minimum range can be selected.
Available rental stock totals
Displays the total rental stock available for the rental dates, quantity and other options selected.
Reset button
Displays a reset button within the rental form calendar used to reset previously selected dates.
Disabled by default as a new date or range is easily selectable without the need to reset first.
This setting is also used for the availability checker.
Availability checker
↑ Back to topIn this page you can configure the availability checker shown by a block or shortcode.
The availability checker is a form which allows customers to select their preferred rental dates and quantity. Once these have been selected it will show an availability status on:
- rental products in product category pages,
- search pages,
- most core WooCommerce product blocks,
- and more.
Variable/grouped products are excluded as they require selection of options.
Once the availability checker is configured, it also auto populates the rental dates and quantity on available product pages.
For period selection pricing type products, the period selection – where available -is highlighted.
Use the Availability Checker block or [wcrp_rental_products_availability_checker]
shortcode to display the availability checker. We recommend including the availability checker throughout your customer journey. Areas like the sidebar are ideal. It should be visible to customers as they browse products in your store, and they can reset it as needed.
Note: It is not recommended to include it on Product Pages as it may cause confusion. The Rental Form displays similar information.
The availability checker status is displayed on:
- products in product category pages,
- search pages,
- most core WooCommerce product blocks,
- and more.
It’s added after the call to action button – add to cart, select options, read more, etc. If your theme (or another extension) disables these buttons, you may have issues displaying the availability checker.
The availability checker status is displayed automatically, it doesn’t require a block/shortcode.
Configuring settings for the availability checker
Status display
This options allows you to configure how a rental’s availability status is displayed throughout your site. There are two available options:
- Standard: it displays rental available/unavailable text and the dates/quantities which have been selected.
- Minimal: it only displays the rental available/unavailable text.
Minimum days
Set the minimum amount of days that can selected on the availability checker calendar.
This field and the one below can be set to the same number (greater than 1) to force a period for selection.
Maximum days
Set the maximum amount of days that can selected on the availability checker calendar.
This field and the one above can be set to the same number (greater than 1) to force a period for selection.
Set to 0 for no maximum.
Period multiples
If the minimum/maximum days on the relevant settings are greater than 1, and both the same number in order to force a period selection, then enabling this setting will allow selection of multiples of that period.
For example, if minimum/maximum days are set to 7, then enabling this setting will allow multiples of that period to be selected – 7, 14, 21 days, etc.
Quantity
Allows a customer to specify the quantity required for the rental dates selected in the availability checker.
If disabled defaults quantity to 1 and hides the quantity.
Catalog
↑ Back to topRental product toggle
Configure the rental or purchase toggle shown on rental or regular products.
The rental or purchase toggle is added automatically via the woocommerce_single_product_summary
action hook.
If your theme (or another extension) removes this hook, you may have issues displaying the form. In this scenario, seek support from your page builder/theme support team on how to reinstate this hook. We provide a workaround of using [wcrp_rental_products_rental_purchase_toggle]
shortcode on your product page template if your theme developer cannot help.
Note: the shortcode should only be used if the toggle is not added automatically due to the missing hook.
Configuring settings for rental or purchase toggle
Position
The position of the toggle for rental or purchase based products. You can choose between two options:
- After the “Add to cart” button
- After the product price
Type
The toggle type for rental or purchase-based products. You can choose between two options:
- Link
- Button
The button type uses the button class; often, styling is included in your theme, however, it’s not guaranteed.
Display in archives
You can use this option to show or hide the toggle from archive pages.
Rental price display
Configure the rental price display.
Configuring settings for rental price display
Rent pricing
When enabled, it will display rent pricing information before the purchase product price (e.g. “Rent for/Rent from…”).
Price prefix
Set text to appear before a rental product price.
You can also have rental prices substituted here using {rental_price_including_tax}
and/or {rental_price_excluding_tax}
.
Note this can also be filtered via the wcrp_rental_products_rental_price_display_prefix
filter hook.
Price suffix
Set text to appear after a rental product price.
You can also have rental prices substituted here using {rental_price_including_tax}
and/or {rental_price_excluding_tax}
.
Note: this can also be filtered via the wcrp_rental_products_rental_price_display_suffix
filter hook.
Rental information
Configure the rental information display.
Configuring settings for rental information
Title
Title used as the rental information tab and inner heading displayed on the product page.
Note: this can also be filtered via the wcrp_rental_products_rental_information_title
filter hook.
The default text is “Rental information”.
Heading
Displays the rental information title as a heading within the rental information tab.
Contents
Adds rental information to a tab on the product page. This will be used in addition to any rental information which has been set at product level.
In person pick up/return defaults
Configure the in person pick up/return defaults used if not set at product level.
Configuring settings for in person pick up/return defaults
Time restrictions
When restricted, the in person pick up times set below must be lower/higher than return times. If not set correctly the in person pick up/return will be unavailable. When unrestricted they can be set without any restrictions. Restricted is recommended to reduce risk of overlaps in availability. In scenarios where there is unlimited rental stock or there are rental stock reserves to account for overlaps in availability, you may wish to set this to unrestricted.
Return date
Set when an in person return should occur.
The in person pick up and return times/fees below are based on the in person return date selected above. You may wish to populate the settings for both options to cover all product data scenarios.
Pick up/return times/fees
See the tooltip information of each setting for how to populate.
Orders
↑ Back to topConfigure order and rental management related settings.
Configuring settings for orders
Immediate rental stock replenishment
When enabled, if rentals are marked as returned, the quantity will be immediately available to rent again.
If disabled, the quantity will remain unavailable in customer facing areas such as the rental form on the product page until the date due to be returned. Disabling this setting does not affect rentals dashboard inventory totals.
Note: If the archive rentals setting is enabled, any returned rentals archived will be immediately replenished regardless of this setting.
Cancel rentals in failed orders
When orders are set to failed, then rental stock is still reserved as the order can still be accessed through the customer’s account and they can make a payment at a later date.
Enabling this setting means that when an order is set to failed, then all the rentals within the order are cancelled, removing the reservation of the rental stock.
The ability to make payment against a failed order with rental products included is disabled too.
Return rentals in completed orders
When enabled: if an order is set to completed, then all rentals within the order are automatically marked as returned. You can disable this setting if you prefer to set an order to completed separately. You will have to manually mark each order item as returned.
When disabled: rental return email reminders will not be sent as these check for all non-returned items in processing orders.
This is disabled in limited scenarios, and typically as a workaround. Such as, if you are using an automated shipping integration which sets dispatched orders to completed.
Labels
↑ Back to topConfigure the most commonly used text references.
Configuring plugin labels
These settings can be used to modify the most commonly used text references.
For more granular control over any text included in this extension, you can check the translations section.
Advanced Settings
↑ Back to topRental Form
Rental Form related advanced settings
Calendar custom styling
Set custom styling for the rental form calendar.
When enabled, a textarea will appear below that you can use to change the color/pixel values only.If you’d prefer to apply your own custom styling via other methods, we recommend keeping this setting disabled and use your own CSS.
This setting is also used for the availability checker.
Note: If you wish to reset any custom styling to the default, click on the link on the description of the setting.
Calendar custom styling code
This textarea only appears if the Calendar custom styling setting is enabled. Here you can apply custom styling code that will affect the rental form calendar.
Maximum date (in days)
Set the maximum amount of days from today that the rental form will allow date selection up to.
If empty, it defaults to 730. This setting is also used for the availability checker.
Maximum date (specific date)
Set the maximum date that the rental form will allow date selection up to.
If populated, this setting overrides the rental form maximum date days setting above. This setting is also used for the availability checker.
Notices use WooCommerce classes
Notices displayed in the rental form will use WooCommerce CSS classes and have the standard WooCommerce notice styling when enabled.
Disable this if you want to apply your own custom CSS notice styling. It may also help troubleshooting issues with a theme targeting WooCommerce notices.
Period selection option labels
Set how option labels are displayed when the product is using the period selection pricing type. There are two options available:
- Days
- Weeks
If the Weeks options is used, then the options display as weeks. For example, if period selections are 1, 7, 14 – entered in days – it will display these as 1 day, 1 week and 2 weeks.
Day periods which do not divide into weeks remain in days.
Start/end notices
Displays a notice instructing the customer that the dates selected cannot start/end on the highlighted days in the rental form calendar if a product has disabled start/end dates/days.
Availability checker
Configuring the advanced availability checker settings
Mode
There are two modes available:
- Standard (default)
- AJAX
When using the standard mode, the availability checker form included via block/shortcode, and the statuses shown on products (e.g. in category pages) are output immediately in the page code.
If you are experiencing issues when using a third party caching solution then consider using the AJAX mode.
Make sure to purge any caches after enabling the AJAX mode.
Note: Regardless of the mode used, on product pages the auto population of dates/quantities is AJAX based.
Status on rental only products
Display availability checker status in loops/blocks on “rental only” products.
Status on rental or purchase products
Display availability checker status in loops/blocks on rental or purchase products.
It is recommended this setting remains disabled as the price/add to cart of the purchasable part of a rental or purchase product is shown on loops/blocks. It’s possible that if the availability checker status is displayed, a customer may confuse the price/add to cart button as referring to the rental product.
Apply dates redirect
If populated with an internal URL, when dates/quantity are applied in the availability checker, the user will be redirected to this URL instead of being shown the default applied dates confirmation.
Note: External URLs cannot be used for this redirect.
Catalog
Advanced pricing
Set if advanced pricing calculations should be used.
Rental price display override prefix/suffix
Displays the rental price display prefix/suffix when rental price display has been overridden on the product.
Return days display
Displays the number of days a customer has to return an item in customer facing areas like:
- the product rental form,
- cart,
- checkout,
- and emails.
If disabled, any return days threshold applied is still used for calculating availability. The only difference is the number of days to return the item are not displayed to the customer.
Disabling this setting is useful if you wish to instruct the customer to return a product within a set amount of days using your own messaging, but need to set the return days threshold higher. For example, a rental that needs to be returned within 3 days but may need an additional 3 days to service the product before it is made available for rental again.
With this setting disabled, you can set the return days threshold to 6, which would ensure the rental is only available after 6 days from the end rental date, and instruct the customer to return it within 3 days.
Note: Return days are not displayed in any scenario if the product has a return days threshold of 0, or if the product is an in person pick up/return.
Orders
Checkout draft restrictions
If using cart/checkout blocks (as opposed to classic cart/checkout), then orders with the draft status can exist (checkout drafts).
By default, these are restricted from view in the orders section and the option to change status to it is disabled. This is because it is possible to change the order status from draft to a status which reserves rental stock for the items included in the order. However, the stock may have already been reserved in newer orders since the draft was created.
It is strongly recommended this setting remains enabled; if it is disabled, and rental order statuses are changed from draft to a status which reserves rental stock, it is highly likely overlaps in rental stock will occur.
Product updated restrictions
When enabled, if a product has been added to cart and since then has been updated, then the cart/checkout will display a notice that the product has been updated and pricing/availability may have changed, and checkout can not continue until the product is removed from the cart.
It is recommended this setting is enabled; if disabled, a customer might place an order with outdated pricing/availability. For the latter, this may mean overlaps in availability.
There are some limited scenarios where you may wish to consider disabling this, such as using other functionality which updates product data when a product is added to cart.
Same rental dates required
Ensures that all rental products in cart have the same rental dates.
Only enable this setting if you want to force all rental products in cart to have the same rental dates.
Performance & debugging
Archive rentals
Orders which are older than the amount of days set will have any rentals marked as returned archived. This is based on the date that the order was created.
Set to 0 to disable and prevent future archival.
By archiving the data no longer needed for querying (e.g. rentals marked as returned), it can improve performance.
Other than potential performance improvements, the only noticable difference is that archived rentals will no longer appear in the rentals dashboard calendar, but can be shown by clicking the include archived rentals button.
It is recommended you test archiving on a staging/development environment before use on a production website.
Performance optimization (BETA)
Warning: This is a temporary setting which queries rental data in some areas using alternative methods for performance optimization.
It is recommended to test this setting in a staging environment before using it on your live store.
Advanced configuration
Only populate when instructed by the developers of this extension to diagnose an issue or for specific server configurations.
Rental Products management
↑ Back to topIntroduction
↑ Back to topRental products are managed the same way as normal products in WooCommerce. To get started go to the products section in your dashboard.
Click the products menu item to access a list of all existing products, or add a new product
When adding or editing a product, you can select one of the following options from the rental dropdown: :
- Not for rental
- Rental only
- Rental or purchase
Selecting a rental option for a product
Depending on the option you choose, a new metabox might appear under the Product data metabox.
Note: If you’re editing a product, note that a popup message will appear that warning you that the selected option and product/variation stock options will be amended and saved.
Rental product data metabox
There are several rental product options you can configure, for more details on what each product option does, see the product options section in this documentation.
Product types
↑ Back to topRental products can be used with the following product types:
- Simple
- Variable*
- Grouped**
*Most product options are set at product level, however there are some which are specifically available at variation level.
**Grouped products are simply a collection of other products so you will not see a rental option for products of this type but you can select rental based products to be grouped within the product.
Selecting a product type
The rental tab will not be available for any product types not listed above.
Products list
↑ Back to topOnce you have saved a product as a rental, in the list of products in the dashboard, each rental product will show the rental price and stock so you can quickly see this information without clicking into a product.
Products list showing rental stock/price information
Filter products
↑ Back to topThere is also a filter included so you can filter the products list by rental products.
Filtering products list by rentals
Tools
↑ Back to topYou can also find rental product management tools in the Rentals > Tools page. See the rentals dashboard section of this documentation for more information.
Product options
↑ Back to topIntroduction
↑ Back to topUpon adding or editing a product, if you choose to use the Rental only or Rental or purchase option, you will see a Rental product data metabox appear under the Product data section.
Configuring rental product options via the Rental product data metabox
Each rental product option has a description of what the product option does. For some rental product options, this can be revealed by hovering over the tooltip icon.
Hovering over a product option tooltip to reveal details of what the product option does
When certain rental product options are set, you may see that other options are conditionally shown/hidden. This happens if they can/cannot be used with the current overall options selected.
Rental
↑ Back to topConfigure whether the product is a rental.
Setting a product as a rental, with information on each option
Pricing
↑ Back to topConfigure rental pricing options.
Configuring pricing options
Rental price
Set the rental price.
Click on the Set in Product data > General button to enter the rental price in the associated tab.
Pricing type
Set the type of pricing.
There are three options to choose from:
- Period: the period pricing type allows you to set a number of days the price is for (e.g. 3 day rental for $10.00).
- Period selection: the period selection pricing type allows you to set a number of periods for selection (e.g. choose between a 1 day rental for $10.00, 3 day rental for $20.00, etc)
- Fixed: the fixed pricing type uses the same price regardless of the number of days selected.
Pricing period (days)
Set the period of the price set in days (e.g. 7 would make the price set be for a 7 day rental).
Pricing period multiples
Allow a customer to select multiples of this pricing period (e.g. if pricing period is 7 the customer can select a 7, 14, 21, etc day period).
If the customer selects multiple pricing periods, the price is multiplied by the amount of pricing periods.
Note: The Pricing period (days) setting needs to be set at a value over 1 for this setting to appear.
Pricing period multiples minimum
Minimum number of multiples that can be selectable by customer (e.g. if pricing period multiples is enabled, the pricing period setting is set to 7 and this option is set to 2, a customer can select 14, 21, 28, etc day rental but not a 7 day rental).
Set to 0 for no minimum.
Note: This setting will only appear if the Pricing period multiples setting is enabled.
Pricing period multiples maximum
Maximum number of multiples that can be selectable by customer (e.g. if pricing period multiples is enabled, the pricing period setting is set to 7 and this option set to 4, a customer can select a 7, 14, 21 or 28 day rental but no more).
Set to 0 for no maximum.
Note: This setting will only appear if the Pricing period multiples setting is enabled.
Pricing period additional selections
Pricing period additional selections are used in addition to the lowest period set on the pricing period (days) setting.
Enter in format of 3:5.00|7:10.00 (this example adds 2 additional pricing period selections:
- A 3 day rental for $5.00 ( 3: 5.00), and
- A 7 day rental for $10.00 (7:10.00)
Note: This setting will only appear if the Pricing type setting is set to Period selection.
Pricing tiers
Increase/decrease price by percentage by number of days selected.
Applies to the product and any variations. Kindly note that you can add multiple tiers by clicking on the Add pricing tier button:
Note: This setting is not available for the Period selection pricing type.
Days greater than
This setting should be greater than the minimum rental period as rental price display may not be accurate without override.
Note: This setting is only available when the Pricing tiers setting is enabled.
Percent
Percent should use a positive or negative number (e.g. 25 for a 25% price increase or -25 for a 25% price decrease on the total).
Note: This setting is only available when the Pricing tiers setting is enabled.
Price + additional periods %
When enabled, the price will be the period price plus a percentage of the period price, multiplied by the amount of periods selected.
For example, a 7 day pricing period product is $100 with additional periods percentage at 10%. Then, if a customer selects a 14 day rental – which is 2 x 7 day periods – then the price will be $100 + $10 as the second period is 10% of $10.
Note: This setting is only available when the Period pricing type is chosen.
Price + additional period %
Set additional period percentage used (e.g. 10 for a 10% additional period percentage).
Note: This setting is only available if the Price + additional periods % is activated.
Price display override
Override the rental price display with specific text entered.
The rental price display suffix/prefix will be applied, this can be disabled in settings. This is simply the price displayed to the customer near the product title, it has no bearing on rental price calculations.
Total overrides
Overrides the total based on the number of days rented.
Enter in format of 1:5.00|2:10.00. This example makes:
- a 1 day rental $5.00 (1:5.00) and,
- a 2 day rental $10.00(2:10.00).
When using total overrides, the rental price display remains as calculated based on the non-overridden pricing. Therefore, it is recommended you also use a price display override.
Advanced pricing
Set if advanced pricing calculations should be used.
For more details click the more info link.
Availability
↑ Back to topConfigure rental availability options.
Configuring availability options
Rental stock
Set the rental stock.
Click the button to enter the rental stock in the associated tab.
In person pick up/return
Enable if the product can only be picked up/returned in person.
Read more about this option using the More info link on the description of the setting.
Time restrictions
You can choose between two options:
- Restricted: When restricted, the in person pick up times set in the textarea below must be lower/higher than return times (see tooltip information of each option).
If not set correctly, the in person pick up/return will be unavailable. - Unrestricted: When unrestricted they can be set without any restrictions.
Restricted is recommended to reduce risk of overlaps in availability.
In scenarios where there is unlimited rental stock or there are rental stock reserves to account for overlaps in availability, you may wish to set this to unrestricted.
Note: This setting is only available when the In person pick up/return setting is enabled.
Return date
Set when an in person return should occur. There are two options available:
- Same day (rent to date)
- Next day (rent to date + 1 day)
Read the information under this setting for further details.
Note: This setting is only available when the In person pick up/return setting is enabled.
Pick up/return times/fees
See the tooltip information of each setting for how to populate.
Note: These settings are only available when the In person pick up/return setting is enabled.
Minimum days
Minimum number of days that must be selectable by customer.
Maximum days
Maximum number of days that can be selectable by customer.
Set to 0 for unlimited.
Start day
Specific day of the week rental must start on.
Use with caution – if setting this to a specific day while also disabling dates/days via the other availability options, consider potential clashes.
Start days threshold
Number of days including the current day before rental dates selectable by customer.
If a specific start day is set, the next available start day is selected in conjunction with this threshold.
Return days threshold
Number of days after the rental dates for the customer to return rented products.
Earliest available date
If an earliest available date is set, then the customer cannot select dates before this date.
When using this option, any start days threshold set does not apply. If the start day option is set to a specific day then the earliest available date will be the start day on/after the date set.
Disable rental dates
Rental cannot occur if the dates selected include any of these dates.
These will be used in addition to any disabled rental dates which are set in the Rentals > Calendar > Disabled dates settings. Upon clicking the field above, previously disabled dates appear light gray in the calendar. Click on a disabled date again to re-enable.
Disable rental days
Rental cannot occur if the dates selected include any of these days.
Disable rental start/end dates
Rental cannot occur if the dates selected start/end on these dates, but can occur if dates selected go through these dates.
These will be used in addition to any disabled rental start/end dates which are set in the Rentals > Calendar > Disabled dates settings. Upon clicking the field above, previously disabled dates appear light gray in the calendar. Click on a disabled date again to re-enable.
Disable rental start/end days
Rental cannot occur if the dates selected start/end on these days, but can occur if dates selected go through these days.
Disable rental start/end days type
Sets whether the disable rental start/end days option above should apply to start/end days, start days only, or end days only.
Calendar
↑ Back to topConfigure the calendar display on the product page.
Configuring calendar options
Months
Number of months to show within the calendar before pagination.
On mobile/tablet devices, this option may be ignored to ensure the calendar is legible.
Columns
Number of columns to show within the calendar before pagination.
On mobile/tablet devices this option may be ignored to ensure the calendar is legible.
Inline
Allows the customer to select dates immediately without first selecting the date selection field.
Information
↑ Back to topConfigure rental information to be displayed.
Configuring information options
Rental information
Adds rental information to a tab on the product page.
This will be used in addition to any rental information which may be set via rental settings.
Add-ons
↑ Back to topConfigure rental product add-ons.
To add fields ( e.g. text, select, checkboxes, etc ) that collect information and/or charge additional fees, use the WooCommerce Product Add-ons plugin.
The options below are only available when WooCommerce Product Add-ons is active.
Configuring add-ons options
Set in Product data > Add-ons
Click the button to enter your add-ons in the associated tab.
Multiply add-ons total by number of days selected
Multiplies the add-ons total by the number of days which have been selected.
When enabled, if you want to exclude add-ons with flat fees from being multiplied use the wcrp_rental_products_multiply_addons_total_by_number_of_days_selected_flat_fees filter hook and return it false.
Disable add-ons for rental part of rental or purchase products
If a rental or purchase based product, disable add-ons for the rental.
Disable add-ons for purchase part of rental or purchase products
If a rental or purchase based product, disable add-ons for the purchase.
Deposits
↑ Back to topConfigure deposits for the rental product.
Configuring deposits options
Security deposit amount
Security deposits are paid during checkout and may be manually refunded to the customer upon satisfactory return of the product.
For further details on refunding a security deposit, see the managing rental orders information when editing an order.
Enter a monetary amount. Security deposits are included in the order total during checkout. Transaction fees on the total, including security deposits, will apply if using a card payment provider.
Security deposit calculation
Set how security deposit is calculated. There are two options to choose from:
- Fixed: it’s the same value regardless of quantity, and
- Quantity: this option multiplies the security deposit amount by the quantity.
Security deposit tax status
Set the security deposit tax status. You can choose between Taxable and None.
Security deposit tax class
Set the security deposit tax class. You can choose one of the following options:
- Standard
- Reduced rate
- Zero rate
Security deposit non-refundable
Set whether the security deposit is non-refundable.
The options above add a security deposit which is paid during checkout, alternatively for a partial deposit with the remaining balance paid later use Deposits & Partial Payments for WooCommerce.
Advanced
↑ Back to topConfigure advanced options for the rental product.
Configuring advanced options
Rental or purchase – rental tax override
Use a different tax status/class than the purchasable tax status/class for the rental part of rental or purchase products.
Rental or purchase – rental tax override status
Set the tax status of the rental part of a rental or purchase product. You can choose one of the options below:
- Taxable
- Shipping only
- None
Note: Requires rental or purchase – rental tax override option to be enabled.
Rental or purchase – rental tax override class
Set the tax class of the rental part of a rental or purchase product. You can choose one of the following options:
- Standard
- Reduced rate
- Zero rate
Note: Requires rental or purchase – rental tax override option to be enabled.
Rental or purchase – rental shipping override
Use a different rental shipping class than the purchasable shipping class for the rental part of rental or purchase products.
Rental or purchase – rental shipping override class
Set the shipping class of the rental part of a rental or purchase product.
Note: Requires rental or purchase – rental shipping override option to be enabled.
Rentals dashboard
↑ Back to topTo access the rentals dashboard go to Rentals > Dashboard.
The rentals dashboard is where you can get a summary of latest and flagged rental orders.
Rentals dashboard
Statistics
↑ Back to topThe statistics at the top of the summary show:
- the current date/time,
- the totals for current rentals,
- rental orders,
- and products
For more details on how these totals are calculated, hover over the tooltip icon.
These statistics are the same as shown in the rentals summary dashboard widget, information on this widget is shown in the dashboard widgets section of this documentation.
Statistics showing the current date/time, and totals for current rentals, rental orders and products
Latest rental orders
↑ Back to topShows the latest 50 rental orders (excluding orders where all rentals cancelled).
You can also view all rental orders, or all orders.
You can search, print and export the list using the search field and buttons.
To view an order, click the View order button to open it in a new tab.
Latest rental orders
Latest rental orders is designed to give you a quick overview of your latest rental orders. It isn’t intended to replace the WooCommerce > Orders section. You should regularly check that page for any non-rental orders, older rental orders, or to perform any bulk actions, etc.
Flagged rental orders
↑ Back to topRental orders which may require action, such as rentals not returned by due date.
A flagged order shows the order id, customer name, flagged rental items, and the due date of each rental item.
You can search, print and export the list using the search field and buttons.
To view an order, click the View order button to open it in a new tab.
Flagged rental orders
Calendar
↑ Back to topThe Calendar page displays an overview of rentals in a calendar. You can navigate to this page by going to Rentals > Calendar.
There are three tabs available on this page:
- Calendar
- Disabled dates
- Feed
Calendar
↑ Back to topCalendar Mode
The calendar can be configured to display in the following modes, which affect the rows displayed in the calendar. You can change which mode is used by using the dropdown menu on the top of the page:
There are two options available:
- Simple – Displays each order as a row
- Detailed – Displays each rental item within an order as a row
Calendar showing rentals in detailed modeCalendar showing rentals in simple mode
If the calendar is heavily populated due to high order volumes, consider using simple mode, and/or use the toggles, filters and search functionality to filter the rows to what you are looking for.
In addition, if the calendar takes a significant amount of time to load this is likely due to high order volumes and/or under resourced hosting; consider archiving old rentals.
For further details on this, see the archive rentals setting in Rentals > Settings > Advanced tab.
Rows
The calendar displays a row for each rental order item (when using detailed mode), or each rental order (when using simple mode).
Each row has a title containing:
- Quantity*
- Product name*
- Product ID*
- Order ID
- Customer name
- Order status
- Return expected suffix**
*Only available when using detailed mode – simple mode does not include this as the rows are orders, not items within orders.
**Not available for items within an order that have a 0 return days threshold.
Each row can be clicked to open the associated order in a new tab. If the row title is cut off due to another row, you can hover over the row to reveal the full title.
When using detailed mode, the rental and return expected rows span multiple days as per the entire rental/return period. If an item in the order has a 0 return days threshold, then a return expected row will not be displayed as the return date is the rental end date.
When using simple mode, if the order has a rental starting on a particular date, this will display an order row on that date. If the order has a return expected on a particular date, this will display an order row (with a return expected suffix) on that date.
The rows do not span multiple days to cover the entire rental/return period. If an item in the order is an in person pick up/return, then the times aren’t included in the row because it is the entire order and not an individual rental.
Rental row in detailed mode Rental row in simple mode
Color keys
When using detailed mode, there are four colors applied to the rows:
- Current – Rentals that span the current date/time except where already returned or due to be returned
- Future – Rentals that occur on future dates/times
- Returned – Rentals that have been returned
- Not returned – Rentals that have not been returned and are due
When using simple mode, there are two colors applied to the rows:
- Not completed – Rental orders not yet set to a completed order status
- Completed – Rental orders set to a completed order status
You can see the color keys at the top right. Hover over the color keys for further information.
Filters
You can filter the rentals in the calendar by using these filters:
- Color key
- Order status
Filtering the calendar by color key and order status
Search
You can search the rentals in the calendar using the search field. This returns matches for the row title, so you can search for rows containing:
- Product*
- Order
- Customer
*Only available when using detailed mode; simple mode does not include this as the rows are orders, not items within orders.
Searching for guitar rentals in detailed mode
Views
The default view shown is the month calendar. Υou can change the view to one of the available views below:
- Month calendar
- Month list
- Week calendar
- Week list
- Day calendar
- Day list
Calendar views
Toggles
You can toggle rows within the calendar using the toggle buttons.
- Toggle rentals – Shows/hides rentals rows in the calendar (rentals are rows for the rental period, excluding the return expected period).
- Toggle returns expected – Shows/hides returns expected rows in the calendar.
- Toggle rows limit – On calendar based views, the number of rows shown are limited and you must click on the More link to reveal more. The toggle rows limit removes the limit and therefore displays all rows with no view more link.
Calendar toggles
Archived rentals
If you have the archive rentals settings enabled via Rentals > Settings > Advanced, then archived rentals will not be displayed in the calendar by default. If you wish to include/exclude archived rentals, you can do so by clicking the include/exclude archived rentals button.
Archived rentals button
Calendar feed
You can also enable a calendar feed setting via Rentals > Calendar > Feed.
This allows you to subscribe to a calendar feed to view rentals in your chosen calendar application.
For more details on this, see the related information in the section below. Once enabled, a calendar feed button appears in the Calendar page. You can use the calendar feed URL to subscribe to the calendar in your chosen calendar application.
Calendar feed button
Upon clicking the calendar feed button, you will see a prompt showing the calendar feed URL; copy this URL.
Prompt showing the calendar feed URL
Then, subscribe to this calendar feed URL via your chosen calendar application. For example, for the calendar application in macOS:
- Open the calendar application.
- Click File from the top menu, and select New Calendar Subscription:
Adding a new calendar subscription via the calendar app on macOS
- Paste the calendar feed URL previously copied and click Subscribe:
Pasting the calendar feed URL into the calendar application
- On the next screen, you can enter a calendar name, and configure more settings, such as how often you want the calendar to refresh.
- Once done, rentals will now show in your calendar application:
Rentals showing in the calendar application
Other calendar options may have different configuration settings, but generally most calendar applications include the above settings as a minimum.
The calendar feed is designed to allow you to see rentals outside your the Rentals > Calendar page.
Note: It is a one way sync, therefore changes made in your calendar application will not reflect in your rentals dashboard. Every refresh of the feed URL will set the calendar back to the state of the rental data in your site’s calendar page.
Disabled dates
↑ Back to topConfigure specific dates to be disabled for rental, used in addition to any dates automatically disabled where no availability.
Configuring settings for disable rental dates
Field type
When managing disabled dates above and when editing products, a date picker is used to select the dates. If you have lots of dates to manage, you may prefer to use the textarea field, so you can quickly paste in your disabled dates data into the field rather than picking them.
If you change this setting, the fields above will reflect your chosen type after saving settings.
Disable rental dates
Disable rentals on specific dates. Used in addition to any disabled rental dates set at product level.
Upon clicking the field above, previously disabled dates appear light gray in the calendar; click on a date again to enable.
Disable rental start/end dates
Disable rental start/end on specific dates. Used in addition to any disabled rental start/end dates set at product level.
Upon clicking the field above, previously disabled dates appear light gray in the calendar; click date again to enable.
Feed
↑ Back to topThis setting generates a calendar feed hourly in ICS format which can be used in a calendar application which allows subscription to calendars via URL.
This allows you to view events from the rentals dashboard calendar in your chosen calendar application. The calendar is not navigable from the frontend of your store and the calendar URL includes a unique ID, however, it is possible that someone could access this URL and therefore only non-identifiable information is included in the calendar feed.
Note: although the calendar feed is regenerated hourly, the refresh frequency is controlled by your calendar application. After enabling this setting it can take up to one hour for the feed to generate on the URL. Until then the URL will return a 404 response code.
For details on how to subscribe to this feed URL, see the Calendar feed section for more information in this documentation.
Inventory Management in Rental Products
↑ Back to topThe inventory shows the rental stock totals of all published rental products. There are two views available:
- date view and,
- live view.
You can search, print and export the list using the search field and buttons.
To view a product, click the product title button to open it in a new tab:
Viewing inventory in date view
Date view
↑ Back to topShows estimated rental stock totals for the date set. Rentals are considered when the rental dates (including any return days thresholds) have passed, regardless of if marked as returned or not.
As the inventory can be used to view rental stock totals for dates in the future, the rental stock totals assume that rentals will have been returned by the expected return dates (including any return days thresholds).
Viewing inventory in date view
Live view
↑ Back to topShows rental stock totals for the current date and time. Rentals are considered out unless marked as returned or cancelled.
Viewing inventory in live view
Why do I have negative rental stock totals?
↑ Back to topThis can occur temporarily when the product has had rental stock reduced and more than the new level was already reserved. Once those reserved rentals have been returned, the negative rental stocks levels will rectify.
Why do customers sometimes see different availability to the inventory?
↑ Back to topThere are a variety of factors which determine the availability of a rental product.
This can mean that the totals you see in the inventory do not match the availability a customer sees when choosing a rental on specific dates/quantities, such as accounting for the return days thresholds of rentals prior to the dates they have selected.
In addition to the above, availability may also differ from the inventory due to immediate rental stock replenishment in settings.
Tools
↑ Back to topThe Rentals > Tools page has a number of tools that help manage rental products such as:
- cloning rental product options from one rental product to another rental product or set of products,
- import/export information and,
- debugging tools.
Tools in the Rentals > Tools page
Emails
↑ Back to topConfigure rental related emails by navigating at the WooCommerce > Settings > Emails page.
Configuring settings for emails
Rental return reminder
Rental return reminder emails are sent to customers before the rent to date, including any return days threshold, concludes for any rental products in an order.
Reminders are only sent for orders with a status of processing – this is because these are orders that are deemed paid but not yet returned. In addition to the email, a private note that a reminder email has been sent will also be added to the respective order for future reference.
Note: Kindly note that this reminder is deactivated by default. You’ll need to navigate to the WooCommerce > Settings > Emails page and click on the Rental return reminder option to activate and edit.
Rental Products dashboard widgets
↑ Back to topUpon logging into your WordPress dashboard, you will see a handy Rentals Summary dashboard widget, showing the latest rental statistics and shortcut links to the tabs in the rentals dashboard.
The statistics shown are the same as in the Rentals > Dashboard page.
Rentals summary dashboard widget
Order management
↑ Back to topHow to manage rental orders.
Orders list
↑ Back to topIn WooCommerce > Orders, you will see a list of all orders (this is standard WooCommerce functionality and includes non-rental orders). If an order includes rentals, it will show an “includes rentals” suffix next to the order name.
Orders list showing orders including rentals
Filter orders
↑ Back to topYou can also filter the orders list by rentals using the rentals filter.
Filtering orders list by rentals
Latest rental orders
↑ Back to topTo get a quick overview of your latest rental orders, you may find the Rentals > Dashboard page useful. This part of the rentals dashboard displays the latest rental orders for quick access.
Latest rental orders
Flagged rental orders
↑ Back to topTo get a quick overview of your flagged rental orders (rental orders which may require action, such as rentals not returned by due date), you may find the Rentals > Dashboard page useful. This part of the rentals dashboard displays the flagged rental orders for quick access.
Flagged rental orders
Managing orders
↑ Back to topOrders containing rentals are managed similarly to normal orders with a few key differences.
- Information on how to manage rental orders is shown in the managing rental orders section when adding/editing an order.
Note: this information will only appear if the Managing rental orders option hasn’t been disabled from the screen options. - This information changes depending on the overall settings you have applied for rentals. Below is an example of the managing rental orders section – the information shown below may differ for your store due to the settings you have applied.
- We don’t include this information in this documentation to avoid confusion, as it can differ depending on the settings you have applied.
Viewing managing rental orders information (may differ for your store)
Payments and refunds
↑ Back to topPayments for orders containing rentals are processed the same as non-rental orders. The customer makes payment for the order total, including any security deposits during checkout.
If you wish to refund, you can refund the entire order, or partially refund for specific items, security deposits, etc. For both these scenarios, if the original payment method was a card payment, then the usual transaction fees, terms, etc of your payment provider apply, the same as non-rental orders.
For how to process refunds, see the managing rental orders section displayed when adding/editing an order.
When using the security deposits option within this extension, the customer makes full payment for the order total, including any security deposits, at point of checkout. This extension does not include any functionality or means of taking a form of payment hold/pre authorization for the security deposit (in an attempt to then only take payment for the security deposit at a later date in certain scenarios).
This functionality has been investigated for inclusion in the past, however it is currently not feasible to introduce into the extension. This is because payment providers generally have a limited timeframe for holding payments (usually up to approx 7 days), which means that if a customer places an order for a rental over 7 days from the checkout date, the payment hold will have expired by the time the rental starts.
Some gateways can potentially be configured for an extended period (usually up to approx 30 days), but this is reliant on some of the following:
- the payment provider offering that,
- the industry type the business merchant account is registered to,
- the card types being used,
- the rental periods being within that limit, and more.
This makes it extremely difficult for us to integrate and maintain this functionality reliably across all the payment providers.
You may by wondering how large enterprises like Airbnb achieve this; this is because they will have a custom agreement and bespoke integration with their payment provider to hold payments for longer periods, and potentially trigger payments to be taken later than at point of checkout. The latter wouldn’t be possible for this extension, due to payments being taken at point of checkout, as per the standard WooCommerce order flow.
If you are taking a deposit/partial payment for a rental order from the customer via Deposits & Partial Payments for WooCommerce, then payments are processed as per the configuration/functionality of that product.
For card payments, ensure the associated payment methods in WooCommerce are configured to authorize and capture payments. Often, this is the default setting for the majority of card payment methods.
It is not recommended to attempt to use this extension with an authorize and capture later configuration, as payment providers only offer a limited window to capture the payment after authorization. So, if a customer places a rental order with dates far in the future, the authorization period will have expired by the time you wish to capture the payment.
We recommend testing your possible payment scenarios on a staging/development environment with your payment provider’s sandbox testing to ensure you are familiar with the process, potential transaction fees, and more, before enabling payment methods on your production website.
Coupons
↑ Back to topThere are no special conditions for use of coupon codes with rental products. Any coupon created via the standard WooCommerce functionality will function the same as if used on a purchasable product. For example, if a coupon code for 10% off is used by a customer, the 10% off (and any expiry date) will apply to the rental product regardless of rental dates selected.
If you would like to setup a coupon which is “rental dates aware”, this can potentially be achieved, depending on your requirements, via custom development using WooCommerce’s woocommerce_coupon_get_discount_amount
filter hook. Please note that this will require bespoke conditions to be coded to filter the discount amount depending on the rental dates, and potentially other aspects, of rental products in the cart.
Rental Products on the WooCommerce frontend
↑ Back to topHere are some examples of rental functionality shown to your customer throughout their journey around your store and within emails.
Availability checker
↑ Back to topAvailability checker with dates selected in sidebar, with products showing the availability
Product
↑ Back to topRental product page showing date selection in the rental form calendar
Category and search
↑ Back to topCategory of products showing rental product pricing and select dates buttons
Cart
↑ Back to topCart showing rental product and rental information
Checkout
↑ Back to topCheckout showing rental product and rental information
Account
↑ Back to topAccount order history showing rental product information
Emails
↑ Back to topEmail showing rental information
Custom development
↑ Back to topThe following information is provided for custom development purposes for web developers. They are useful if you wish to add custom features or modify how the extension works. As per the WooCommerce support policy, we cannot offer any support for your use of these custom development features.
Filter hooks in Rental Products
↑ Back to topFilter hook | Description |
wcrp_rental_products_advanced_pricing | Allows advanced pricing calculations to be used, see information under the advanced pricing product option |
wcrp_rental_products_cart_fees_disable_security_deposits | Rental cart fee disable security deposit programmatically e.g. for specific customers, cart contents, etc |
wcrp_rental_products_cart_item_price | Rental cart item price |
wcrp_rental_products_default_rental_options | Default rental options |
wcrp_rental_products_litepicker_language | ISO language string, default return is the WordPress language setting, used to set the language of the Litepicker calendar library used on rental form and availability checker, excludes translation of day/days strings, which are separate translation ready strings |
wcrp_rental_products_multiply_addons_total_by_number_of_days_selected_flat_fees | Include or exclude add-ons with flat fees from multiply add-ons total by number of days selected calculation |
wcrp_rental_products_order_add_rental_products_url | URL to access upon clicking the add rental product(s) button when adding/editing an order. |
wcrp_rental_products_rental_form_total_prefix | Prefix used before the rental total in the rental form totals. |
wcrp_rental_products_rental_form_total_days_as_weeks | Set to true to display amount of days in rental form total as weeks rather than days. Note that the amount of days/weeks are not displayed in the rental form total if the product uses pricing period selection. |
wcrp_rental_products_rental_form_total_days_parenthesis | Adds parenthesis around the total days shown in the rental form totals. |
wcrp_rental_products_rental_information_title | String from settings |
wcrp_rental_products_rental_price_display_prefix | String from settings |
wcrp_rental_products_rental_price_display_suffix | String from settings |
wcrp_rental_products_rental_price_html | Rental price HTML markup |
wcrp_rental_products_rentals_dashboard_calendar_event_name | Allows the event name used in the rows within the rental dashboard calendar to be manipulated, this event name is also used for the calendar feed. Event name, event data, public, and calendar mode is passed. Note that it is recommended that identifiable information is not included in the event name if the public variable is true. |
wcrp_rental_products_select_dates_button_html | Select dates button HTML |
wcrp_rental_products_text_availability_checker_applied | String from settings |
wcrp_rental_products_text_available_rental_stock_totals | String from settings |
wcrp_rental_products_text_check_availability | String from settings |
wcrp_rental_products_text_disable_rental_end_notice | String from settings |
wcrp_rental_products_text_disable_rental_start_notice | String from settings |
wcrp_rental_products_text_disable_rental_start_end_notice | String from settings |
wcrp_rental_products_text_in_person_pick_up_return | String from settings |
wcrp_rental_products_text_non_refundable | String from settings |
wcrp_rental_products_text_pick_up_time | String from settings |
wcrp_rental_products_text_refundable | String from settings |
wcrp_rental_products_text_rent_for | String from settings |
wcrp_rental_products_text_rent_from | String from settings |
wcrp_rental_products_text_rent_to | String from settings |
wcrp_rental_products_text_rental_available | String from settings |
wcrp_rental_products_text_rental_cancelled | String from settings |
wcrp_rental_products_text_rental_dates | String from settings |
wcrp_rental_products_text_rental_period | String from settings |
wcrp_rental_products_text_rental_returned | String from settings |
wcrp_rental_products_text_rental_return_within | String from settings |
wcrp_rental_products_text_rental_unavailable | String from settings |
wcrp_rental_products_text_reset_dates | String from settings |
wcrp_rental_products_text_return_date | String from settings |
wcrp_rental_products_text_return_time | String from settings |
wcrp_rental_products_text_security_deposit | String from settings |
wcrp_rental_products_text_select_dates | String from settings |
wcrp_rental_products_text_view_purchase_options | String from settings |
wcrp_rental_products_text_view_rental_options | String from settings |
wcrp_rental_products_text_view_rental_options | Allows a custom week start day to be set for the rentals dashboard calendar, instead of using the WordPress week starts on setting |
wcrp_rental_products_rental_date_format | Allows a custom date format to be set for rentals, instead of using the WordPress date format setting |
wcrp_rental_products_rental_form_after_quantity_disabled_hook_priority | Allows adjustment of the hook priority for the rental form when hooked via woocommerce_before_add_to_cart_button |
wcrp_rental_products_rental_form_after_quantity_enabled_hook_priority | Allows adjustment of the hook priority for the rental form when hooked via woocommerce_after_add_to_cart_quantity |
wcrp_rental_products_rental_form_first_day | Allows a custom week start day to be set for the rental form calendar, instead of using the WordPress week starts on setting |
wcrp_rental_products_rental_time_format | Allows a custom time format to be set for rentals, instead of using the WordPress time format setting |
Functions
↑ Back to topFunction | Return |
wcrp_rental_products_advanced_configuration | Array of any advanced configuration options set |
wcrp_rental_products_availability_checker_data | Array of availability checker data the user has selected in the availability checker |
wcrp_rental_products_check_availability | Availability status string |
wcrp_rental_products_default_rental_options | Array of the default rental options |
wcrp_rental_products_is_rental_only | True/false |
wcrp_rental_products_is_rental_purchase | True/false |
wcrp_rental_products_order_has_rentals | True/false |
wcrp_rental_products_rental_date_format | Rental date formatted string |
wcrp_rental_products_rental_form_date_format | Rental form date formatted string |
wcrp_rental_products_rental_form_first_day | First day set on rental form string |
wcrp_rental_products_rental_form_maximum_date | The maximum date string or number of days until allowed for selection in the rental form |
wcrp_rental_products_rental_time_format | Rental time formatted string |
JavaScript Events
↑ Back to topEvent | Description |
wcrp_rental_products_product_rental_form_update | Fires on rental form update on product page. |
BETA functionality
↑ Back to topWe may occasionally include BETA functionality, this is highlighted with a (BETA) label. Functionality with this label should be used with caution and is only recommended to be tested on a staging/development environment. The functionality is included so users can test the functionality/provide feedback before it becomes stable, at which point the (BETA) label will be removed.
Note: there may be occasions where BETA functionality is determined unsuitable for use and removed entirely.
Caching
↑ Back to topIf you are using any form of caching, it’s recommended that the cache lifespan/expiry should be set to 10 hours or less. This is recommended by most major caching solutions to avoid potential issues with WordPress nonces.
Cookies
↑ Back to topThis extension may set the following cookies, it is recommended you include details of these cookies in your cookie policy.
Name | Description | Expiry |
wcrp_rental_products_availability_checker_quantity | Stores the quantity when a user uses the availability checker for next time | 30 days |
wcrp_rental_products_availability_checker_rent_from | Stores the rent from date when a user uses the availability checker for next time | 30 days |
wcrp_rental_products_availability_checker_rent_to | Stores the rent to date when a user uses the availability checker for next time | 30 days |
Translating Rental Products
↑ Back to topPlease read before translating
↑ Back to topSome translation plugins create multiple product instances by cloning or duplicating products to allow you to translate for each language (sometimes in the background without you knowing. In doing this, they then attempt to sync price, stock, etc between the instances.
However, due to the complex nature of rental price and stock data, using translation plugins which do this are extremely likely to give unexpected results or not work at all. We recommend against using plugins that may be utilizing this kind of functionality.
Automatically translate from English to other languages
↑ Back to topIf you wish to automatically translate the text in this extension from English to other languages, then use an automatic translation plugin.
There are various plugins available which offer automatic translation; we do not recommend a specific one.
Manually translate from English to a different language
↑ Back to topIf you wish to manually translate the text in this extension from English to a different language, you can do this by modifying the text settings shown within the Rentals > Settings > Labels page – these are the most commonly used text references.
To modify any other text references you wish to translate, a translation plugin can be used. The Loco Translate plugin is the current recommendation at time of writing.
Manually translate from English to multiple languages with language selection:
↑ Back to topIf you wish to manually translate the text in this extension, and you have a multilingual store where a user can select a language to show manually added translations, you will need to use a translation plugin. The translation plugin used will need to have functionality to not only translate the text included within extensions/plugins but also WordPress options stored in the database.
That’s because the most commonly used text references in this extension are stored as settings (WordPress options stored in the database) and therefore the translation plugin used needs to be able to translate these, too. The option names for the text have the wcrp_rental_products_text_ prefix.
Note: there may be other text based settings (e.g. rental information title) with only the wcrp_rental_products_ perfix you wish to alter too. Some translation plugins allow you to modify any visible text, which effectively achieves the same result without translating the options directly.
The TranslatePress plugin is the current recommendation at time of writing.
Rental form and availability checker calendar language:
↑ Back to topThe calendar displayed in the rental form and availability checker uses the Litepicker library. The day/days text within this can be translated using the methods above, however, all the other references used within it, such as month names, are set through a language setting of the library.
By default the language will be as per your WordPress language setting. In the scenario where your store has multiple languages with language selection, you may wish to use the wcrp_rental_products_litepicker_language filter hook to return a different ISO language string as per the user language selection.
Rental Products compatibility
↑ Back to topOur plugin should work well with nearly any WooCommerce plugin. If you are a user (or plugin developer) looking to improve compatibility between Rental Products and another plugin, please reach out to support!
Known compatibility issues
↑ Back to topIssue | Cause | Fix |
Availability checker dates/quantities selected are lost and/or become incorrect when browsing through different pages. | The availability checker dates/quantities have been cached. | Try using the availability checker AJAX mode from the availability checker section of the Rentals > Settings > Advanced page. |
Cart/checkout displays an error stating product has recently been updated and pricing/availability may have changed, and can not checkout until product is removed from cart. | Rental product was added to cart, but since then has been updated. | This is expected behaviour when the product updated restrictions setting is enabled in the Rentals > Settings > Advanced page, under the Orders section. Consider disabling this in some limited scenarios. See the related information for the product updated restrictions setting from the Advanced settings section. |
Rental form on product pages and/or availability checker does not work, such as the calendar does not open when clicking the rental dates field. | jQuery is undefined and/or general JavaScript errors. jQuery can be undefined if you have enabled any optimization/performance related settings in a plugin or your hosting, these can sometimes move where jQuery is enqueued to the bottom of the website. General JavaScript errors can also cause this issue, as after an error occurs no further JavaScript can function. | Some troubleshooting steps to try:Disable any optimization/performance related settings.Enable settings one by one to find the root cause.Check your website for any JavaScript errors in your browser dev tools. Fix any JavaScript errors – these will likely be coming from other extensions, plugins, or your theme. |
Rental form on product pages is displayed oddly or does not fit well. | CSS layout rules, likely coming from the theme/page builder. | Try using a different rental form layout from the Rental form settings section in the Rentals > Settings > Rental form page.. |
Rental form on product pages not functioning as expected, shows error code PRODRFU0. | 1: Nonce number generated to validate form submission is invalid or has expired. Generally occurs due to a caching mechanism.2: Product/variation id data is missing from the add to cart elements on the product page. The rental form uses these to query the product for rental pricing/availability.If this data is unavailable, the rental form cannot determine which product to query and shows this error. Generally occurs due to override/manipulation of the standard WooCommerce add to cart elements. | 1: Try deactivating any caching plugins and/or caching in your hosting. If you find the issue only occurs when caching is active, ensure that caching is disabled for logged in users, which is generally the default configuration used by caching mechanisms. If you still experience issues after doing this, try setting any cache lifespans to 10 hours or less. Check out this documentation for more information, note this link is for the WP Rocket plugin, however, the principle described applies to any caching mechanism used.2: For simple type products, ensure .cart button[name="add-to-cart"] is included in the page and has the product id as the value. For variable type products, ensure the .cart input[name="product_id"] and .cart input[name="variation_id"] elements are included in the page and that they have the product/variation id as the values. WooCommerce has these elements by default, however, in some limited scenarios, your theme or other functionality may have overridden or replaced these elements. |
Rental or purchase toggle does not display. | Some themes/page builders are missing a core WooCommerce hook on the product page. | Reinstate the missing hook or use the rental or purchase toggle shortcode. See the related information linked in the rental or purchase toggle settings section. |
Rental order item data missing, such as rent from/to dates. | Some payment methods enable quick pay functionality, such as buy now buttons on product pages. Depending on the integration, the standard cart/checkout process may get bypassed, reesulting in missing rental data, which in turn may cause further issues. | Consider disabling the functionality entirely or alternatively disable this functionality only for rental products by hiding the quick pay methods on rental products with some custom CSS. Target the element based on the rental product body class of wcrp-rental-products-is-rental . |
Rental products cannot be added to cart, shows error code CARTADD0. | Nonce number generated to validate form submission is invalid or has expired. Generally occurs due to a caching mechanism. | Try deactivating any caching plugins and/or caching in your hosting. If you find the issue only occurs when caching is active, ensure that caching is disabled for logged in users, which is generally the default configuration used by caching mechanisms. If you still experience issues after doing this, try setting any cache lifespans to 10 hours or less, see this documentation for more information, note this link is for the WP Rocket plugin, however, the principle described applies to any caching mechanism used. |
Rental products cannot be added to cart, shows error code CARTADD1. | The add to cart method used does not pass all the required rental form data to the cart. | If this issue occurs when adding to cart from a product page, then the standard WooCommerce add to cart form may not be being used. If that’s the case, you can start by asking your theme/page builder support for clarity on they are using it, and if not, how to reinstate it. If there are other means of adding rental products to cart outside the product page, it is likely your theme/page builder, extension/plugin or custom development is adding add to cart links/buttons that technically should not be there as rental products cannot be added to cart outside the product page. In this scenario, discuss the issue with the developers responsible to see if they can be conditionally hidden/removed if the product is a rental. |
Rental products cannot be added to cart, shows error code CARTADD1, specifically when using an AJAX add to cart method. | The AJAX add to cart method used does not pass all the required rental form data to the cart. | Consider using AJAX Add to Cart for WooCommerce as an alternative. |
Rental products cannot be added to cart, shows error code CARTADD2. | Rental form data was manipulated before transit. | None required, this error ensures rental form data being passed to the cart has not been manipulated. |
Shipping integration automatically sets orders to completed causing rentals to be marked as returned. | Some shipping integrations automatically set orders to the completed status upon dispatch. | Consider disabling the return rentals in completed orders setting or disable the automated order status change in the shipping integration, if possible only for orders containing rentals. |
FAQs for Rental Products
↑ Back to topCan I add an additional buffer to the return days threshold for cleaning, maintenance, etc?
↑ Back to topYes, see the Rentals > Settings > Advanced > Return days display setting for more information.
Can I block availability for rental products manually?
↑ Back to topWhen customers place orders, the availability is automatically calculated from the rental stock total minus the rentals currently reserved for customers (and various other factors, such as disabled dates in settings).
However, if you want to block availability for specific rental products, this can be achieved using the instructions below, e.g. to reduce rental availability while rental products are being repaired.
The recommended means of blocking availability is:
- place an internal order via WooCommerce > Orders > Add New, then click Add item(s) > Add rental product(s),
- add the rental products you want to block availability for, ensuring you set the quantity accordingly.
- The order can remain on a Pending order status for the availability to take the order contents into account, however, optionally, you may want to set the billing name to something you can differentiate from customer orders internally, so it is clear this is an internal order in the rentals dashboard summary/calendar.
For example, you can use a first and last name of Internal Order, Internal Rental Block, etc. - Once you want to make those quantities available again, you can mark the items within the order as returned, or delete the order.
Note: the order must be deleted permanently, not just stay in the trash for the rental stock to be available again.
You don’t need to make a payment for the order; as long as the rental products are the line items of the order they are taken into account for availability calculations.
Can I have a partial payment with the remaining balance paid later?
↑ Back to topFor a partial deposit with the remaining balance paid later use Deposits & Partial Payments for WooCommerce instead of the native security deposit options.
Can I hold security deposit payments and only take them at a later date?
↑ Back to topRead the order management payments and refunds information in this documentation for further details.
Can I import rentals booked from before using this extension?
↑ Back to topIt is recommended you start using this extension without doing this. Instead, you can temporarily give your rental products less availability until your old rentals have elapsed.
However, it is technically possible, but requires knowledge of both WooCommerce order imports (including programmatically resaving imported orders after import to sync the rental database data) and order related meta data.
The technicalities of this are complex and therefore we recommend getting in touch to discuss your options for this. If you attempt this without understanding all the possible implications, it is likely you’ll see issues with rental availability.
Can I make the rentals dashboard calendar display orders rather than items?
↑ Back to topYes, choose the mode you prefer from the dropdown menu on the top of the Rentals > Calendar page.
Can I reposition the rental form in product pages?
↑ Back to topThe rental form on product pages, which includes the rental form calendar for date selection, totals, etc, can be positioned before or after the quantity field. Υou can select which setting is used via Rentals > Settings > Rental form > Position.
The rental form is included in product pages via standard WooCommerce product page hooks, and the position is based on the hook priority of any other elements included on those hooks, which may come from WooCommerce, extensions, themes, etc
.
The hook used will be one of these, depending on the rental form after quantity setting:
woocommerce_after_add_to_cart_quantity
- Displays via this hook when the rental form after quantity setting is enabled
- The default hook priority used is 10
woocommerce_before_add_to_cart_button
- Displays via this hook when the rental form after quantity setting is disabled
- The default hook priority used is 9, this is because WooCommerce Product Add-ons (if used) are hooked at a priority of 10, so the default priority ensures add-ons are displayed after the rental form
- This hook is used rather than woocommerce_before_add_to_cart_quantity as WooCommerce Product Add-ons (if used) displays add-ons on the woocommerce_before_add_to_cart_button hook, so using the same hook ensures if add-ons are used the rental form can be custom positioned around the hook priority of add-ons if required
If you would like to tweak the hook priority of either of the above hooks, for more control over the rental form positioning in relation to other elements included on the product page via these hooks, you can see the respective hook below:
wcrp_rental_products_rental_form_after_quantity_disabled_hook_priority
wcrp_rental_products_rental_form_after_quantity_enabled_hook_priority
For variable products, the option fields to select a specific variation will usually be displayed above the rental form due to use of the above hooks, regardless of the Position setting. However, some themes may manipulate their position. These fields should be set to appear before the rental form as variable product options need to be selected first since the rental form needs to know which variation has been selected to check the variation rental availability/pricing data.
If a variation is not selected before selecting a date, the user will be instructed to select the options first.
The position of other fields within the product page are positioned as per their designated position/priority set by the source of that field, e.g. for WooCommerce Product Add-ons, that extension determines where those fields are positioned.
It isn’t possible through functionality of the Rental Products extension to affect the position of third party fields directly. If you wish to reposition fields from third party sources, reach out to the support of the source of those fields for the recommended options to achieve that.
Note: if you are using WooCommerce Product Add-ons with variable products, we are aware that the add-ons will be displayed directly below the variable option fields. This is the position WooCommerce Product Add-ons sets them to appear. It is not possible for us to include functionality to control that position via this extension.
Can I restrict rentals being ordered for a period before another rental starts?
↑ Back to topThis can be achieved using the return days threshold product option. This is the amount of days after the rental dates the customer has to return it. The return days threshold is used by the system (in addition to all the other availability based calculations) to calculate the availability and whether the quantity is available on the dates selected by a customer.
Taking into account the return days threshold of the product, it leaves the quantity unavailable if it is deemed that the product will not be returned in time to meet a new rental.
For some scenarios you may wish to combine this with the Return days display setting in Rentals > Settings > Advanced. Using this method you can set a return days threshold higher than the amount of days you instruct the customer to return the product by. The additional period on top can then be used for preparation, maintenance, etc.
For further details on how this works, see the relevant section in this documentation.
Can I restrict rentals which start today/in the next few days?
↑ Back to topYes, use the start days threshold product option, for further details see the information on this product option in the relevant section of this documentation.
Can I schedule a rental sale price?
↑ Back to topFor rental only products, it is possible to input a sale price for the rental; this is standard WooCommerce functionality.
It also allows you to schedule a sale price. It is important to understand that in a rental only product context, scheduling a sale price makes the rental price be set to the sale price between the dates/times entered. However, this is not related to the dates the customer selects for rental in the rental form calendar on the product page. It is purely used to determine a sale price based on the current date/time the product page is accessed.
If you wish to apply different pricing depending on custom conditions, such as the rent from/to dates selected in the rental form calendar, then this can be achieved via the advanced pricing option instead.
For rental or purchase products, the sale price functionality is only available on the purchasable part of the product. However, you can manipulate the rental part of the product’s pricing to reflect a sale price depending on custom conditions via the advanced pricing option.
Can I set a rental to only be available after x date?
↑ Back to topYes, use the earliest available date product option. For further details, see the information on this product option in the product options section of this documentation.
Can I take a security deposit based on the entire order total rather than per product?
↑ Back to topThe security deposits within this extension are on a per product basis. We do not include functionality to take a security deposit based off of the entire order total as there can be a number of conditions and requirements as to how the deposits are applied in this scenario, often unique to particular business requirements.
Therefore, this functionality is best configured separately as general cart/checkout functionality. If you would like to take any form of a deposit based off of the entire order total, we recommend disabling any security deposit options you may have already set on individual products and then use an additional extension for this functionality.
Alternatively, WooCommerce provides documentation on how to add cart/checkout surcharges via a code snippet.
Note: these methods may require customization to ensure it is only applied if rental products are in the cart, and for any other custom conditions you may wish to configure.
How do I manage rental orders?
↑ Back to topSee the order management section within this documentation.
How do I refund a security deposit?
↑ Back to topIf you are using the security deposits option on a product, the security deposit is an individual order line item which can be refunded via the usual means of refunding individual order line items. Read the order management payments and refunds information in this documentation for further details on refunds.
I am not seeing the rental or purchase toggle on product pages when using Elementor?
↑ Back to topElementor does not respect the woocommerce_single_product_summary
action hook, therefore there is nowhere for our extension to hook into to display it.
To get around this, add the [wcrp_rental_products_rental_purchase_toggle]
shortcode to your single product page template.
I am not seeing some rental products in category/search pages?
↑ Back to topThis is likely due to the WooCommerce out of stock visibility setting being enabled in WooCommerce > Settings > Products > Inventory. This setting is disabled by default, but may have been enabled. See the notice under this setting for more information.
I am seeing inaccurate tax calculations when using German Market?
↑ Back to topWe have previously had feedback that when using German Market, some aspects of tax calculations can be inaccurate, usually in relation to security deposits and how tax is calculated by the German Market plugin depending on your site-specific German Market configuration.
In these scenarios we recommend discussing the issues directly with the support team of the German Market plugin. In previous instances we have found they can provide either a specific configuration and/or custom code tailored to your store to ensure taxes are calculated accurately.
The calculations done by the German Market plugin supercede tax calculations of the Rental Products extension, and therefore for these to be accurate, the configuration needs to occur in the German Market plugin. If you are using this plugin, we recommend thoroughly testing all aspects of tax calculations before using Rental Products and German Market together in a production environment.
Is it compatible with a specific theme?
↑ Back to topThis extension will generally be compatible with most themes. There may be a small number of themes that are fully or partially incompatible due to clashes in functionality and/or if the theme has removed or adapted core WooCommerce functionality.
If you would like to know if a specific theme is compatible before purchase, then please contact us and we can advise. However, please note that it may not be possible for us to determine this, if, for example, the theme requires a license and/or several configuration steps.
In this scenario you are welcome to purchase and test this extension with the theme, and if there is a compatibility issue, you can take advantage of the refund policy for this extension.
Is Rental Products compatible with a specific extension/plugin?
↑ Back to topThis extension will generally be compatible with most extensions/plugins. There may be a small number of extensions/plugins that are fully or partially incompatible due to clashes in functionality and/or if the extension/plugin has removed or adapted core WooCommerce functionality.
You are welcome to purchase the extension to test verify compatibility between Rental Products and another extension. If you encounter issues, please contact us for support (or a refund, where compatibility cannot be resolved.)
Is Rental Products compatible with a specific page builder?
↑ Back to topThis extension will generally be compatible with most page builders. There may be a small number of page builders that are fully or partially incompatible due to clashes in functionality and/or if the page builder has removed or adapted core WooCommerce functionality.
If you would like to know if a specific page builder will be compatible before purchase, then please contact us and we can advise. However, please note that it may not be possible for us to determine this if, for example, the page builder requires a license and/or several configuration steps.
In this scenario you are welcome to purchase and test this extension with the page builder and if there is a compatibility issue, you can take advantage of the refund policy for this extension.