1. Documentation /
  2. Rental Products

Rental Products

This documentation includes examples based on a US store using USD currency. Consider your store location and currency when using any of the examples.

Installation

↑ Back to top

Download, install and activate the extension.

It is strongly recommended you initially use a staging/development environment and test the extension before use on a production website.

If you haven’t already, connect your store to your WooCommerce account. This ensures you get extension update notifications when available.

Quick start guide

↑ Back to top
  • Perform the installation steps above
  • Go to WooCommerce > Rentals > Settings and configure the settings as you require or use the defaults
  • Add or edit a product as normal and select the rental tab in the product data section
  • Set as a rental product and set any rental options required e.g. pricing, availability, etc
  • For variable type products there are additional rental options available when editing each variation
  • Save the product, it will now be available for rental in your store
  • Once you have setup some rental products you will notice these products now show rental stock/price in the columns in the products list, 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 orders inc/exc rentals
  • For details on how to manage orders with rentals edit an order and read the information in the managing rental orders section
  • The rentals dashboard accesible via WooCommerce > Rentals shows a summary of latest and flagged rental orders, an overview of every customer rental in a calendar, provides inventory insights, tools for advanced rental product management and shortcuts to rental orders, products and settings
  • For detailed information on all aspects of this extension read on

Settings

↑ Back to top

Introduction

↑ Back to top

You can configure the general rental settings via WooCommerce > Rentals > Settings.

Each setting has a description of what the setting does, for some settings this can be revealed by hovering over the tooltip icon.

Rental date/time formats

↑ Back to top

Configure the rental date/time formats.

Configuring settings for rental date/time formats
  • Rental date format
    • Format of rental dates used throughout the frontend of your store, emails and in most areas of this dashboard, excluding the rental form and availability checker (see rental form date format setting). Use a PHP date format. Day, month and year must be included. Errors in the format used may cause issues with rental functionality.
  • Rental time format
    • Format of rental times used throughout the frontend of your store, emails and in most areas of this dashboard. Use a PHP time format. Hours and minutes must be be included, seconds should not be included. Errors in the format used may cause issues with rental functionality.

Rental form

↑ Back to top

Configure the rental form shown on rental product pages.

Configuring settings for the rental form
  • Rental form layout
    • Choose the layout of the rental form. The theme option displays the rental form as per your theme CSS. The theme compatibility option can be used if you find the theme option is displaying the rental form oddly, this option still uses most of your theme CSS but attempts to override some rental form elements to ensure they are displayed vertically and form field sizes are consistent. The light and dark options are similar to theme compatibility with some additional styling applied.
  • Rental form 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. Day, month and year must be included, if these are not included and/or if using incorrect formats then it is likely to cause issues with rental functionality. This setting is also used for the availability checker.
  • Rental form first day
    • The first day of the week in the rental form calendar. Day selected will be the first column in the calendar. This setting is also used for the availability checker.
  • Rental form period selection option labels
    • Set how option labels are displayed when the product is using the period selection pricing type. If weeks used then the options display as weeks e.g. 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.
  • Rental form after quantity
    • Displays the rental form after the quantity field on product pages, if disabled this will display the rental form before the quantity field.
  • Rental form auto apply
    • Automatically applies the dates selected in the rental form calendar. If disabled then cancel and apply buttons are shown instead, the apply button must be clicked to apply the dates selected. If you have rentals which allow selections of both single and multiple days in the same calendar you may wish to disable this setting so a double click is not required for single day rentals in this scenario. This setting is also used for the availability checker.
  • Rental form auto select end date
    • Automatically sets the end date when a start date is selected in the rental form calendar. This will only occur on rental products which allow selection of a singular range, e.g. does not occur if pricing type is period and pricing period multiplies is enabled as multiples of the minimum range can be selected.
  • Rental form available rental stock totals
    • Displays the total rental stock available for the rental dates, quantity and other options selected.
  • Rental form calendar custom styling
    • Set custom styling for the rental form calendar. When enabled a further setting will appear below, change the color/pixel values only. If you wish to reset these to the defaults, click the link. If you prefer to apply your own custom styling via other methods, we recommend keeping this setting disabled and use your own CSS as per the linked instructions. Note that in the unlikely event that you are using the Litepicker library for other non-rental calendars the styling applied will effect those too. This setting is also used for the availability checker.
  • Rental form calendar custom styling code
    • Allows you to apply custom styling code for the above setting.
  • Rental form 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.
  • Rental form 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.
  • Rental form maximum date days
    • Set the maximum amount of days from today that the rental form will allow date selection up to. If empty defaults to 730. This setting is also used for the availability checker.
  • Rental form maximum date specific
    • 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.

Availability checker

↑ Back to top

Configure the availability checker shown by 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, etc – excluding variable/grouped products as these require selection of options. Once the availability checker is set it also auto populates the rental dates and quantity on product pages if available. 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 e.g. in a sidebar so it is visible to customers as they browse products in your store and if they wish they can reset it. It is not recommended to include it on product pages as it may cause confusion with the rental form.

The availability checker status is displayed on products in product category pages, search pages, most core WooCommerce product blocks, etc is added after the call to action button (add to cart, select options, read more, etc), therefore these buttons must not be disabled via a setting of your theme or an extension/plugin and/or custom development if you want the availability checker status to be displayed. The availability checker status is displayed automatically, it doesn’t require a block/shortcode.

Configuring settings for the availability checker
  • Availability checker mode
    • 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. However, depending on if you have caching enabled on your store and how it is configured you may notice that the form and/or statuses shown can become empty or incorrectly populated on cached pages. If you are experiencing this issue then consider using the AJAX mode and purge any caches after enabling. Note that regardless of the mode used, on product pages the auto population of dates/quantities is AJAX based.
  • Availability checker 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. Set to 0 for no minimum.
  • Availability checker 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.
  • Availability checker period multiples
    • If the minimum/maximum days above are set, greater than 1, and both the same to force a period selection, then enabling this setting will allow selection of multiples of that period e.g. if minimum/maximum days are set to 7 then enabling this setting will allow a period to be selected of 7, 14, 21 days, etc.
  • Availability checker 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.
  • Availability checker status
    • Standard displays the availability checker status e.g. rental available and the dates/quantities selected, minimal only displays the availability checker status.
  • Availability checker status on rental only products
    • Display availability checker status in loops/blocks on rental only products.
  • Availability checker status on rental or purchase products
    • Display availability checker status in loops/blocks on rental or purchase products. It is recommended this is disabled as the price/add to cart of the purchasable part of a rental or purchase product is shown on loops/blocks, if availability checker status is displayed a customer may confuse the price/add to cart as being for the rental.
  • Availability checker apply dates redirect
    • If populated with a URL then when dates/quantity applied in the availability checker the user will be redirected to this URL rather than seeing the default applied dates confirmation.

Advanced pricing defaults

↑ Back to top

Configure the advanced pricing defaults used if not set at product level.

Configuring settings for advanced pricing defaults
  • Advanced pricing
    • Set if advanced pricing calculations should be used. Before enabling this setting, see the related information under this option when adding/editing a rental product.

In person pick up/return defaults

↑ Back to top

Configure the in person pick up/return defaults used if not set at product level.

Configuring settings for in person pick up/return defaults
  • In person pick up/return time restrictions
    • When restricted the in person pick up times set 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. 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.
  • In person 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.
  • In person pick up/return times/fees
    • See the tooltip information of each setting for how to populate.

Disable rental dates

↑ Back to top

Configure specific dates to be disabled for rental, used in addition to any dates automatically disabled where no availability.

Configuring settings for disable rental dates
  • 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 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.

Rental or purchase toggle

↑ Back to top

Configure the rental or purchase toggle shown on products of a rental or purchase type.

The rental or purchase toggle is added automatically via the woocommerce_single_product_summary action hook, generally it is not removed as it is a core WooCommerce hook, however if the toggle is not displayed it is likely you are using a page builder/theme that has removed it.

In this scenario seek support from your page builder/theme support team on how to reinstate this hook or alternatively use the [wcrp_rental_products_rental_purchase_toggle] shortcode on your product page template, however this should only be used if the toggle is not added automatically due to the missing hook.

Configuring settings for rental or purchase toggle
  • Rental or purchase toggle position
    • The position of the toggle for rental or purchase based products. Low is in the position below the add to cart button and high is in the position below the price.
  • Rental or purchase toggle type
    • The toggle type for rental or purchase based products. The button type uses the button class, styling is normally included in your theme but not guaranteed.
  • Rental or purchase toggle loops/blocks display
    • Displays the view rental options toggle link/button on rental or purchase products within loops/blocks. View purchase options toggle link/button will not display as the purchasable part of a rental or purchase product is always shown on loops/blocks. Rental or purchase toggle position does not apply to this setting.

Rental price display

↑ Back to top

Configure the rental price display.

Configuring settings for rental price display
  • Rental price display 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.
  • Rental price display 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 price display override prefix/suffix
    • Displays the rental price display prefix/suffix when rental price display is overridden on the product.
  • Rental price display rent text
    • Displays rent from/to text in the rental price display.

Rental information

↑ Back to top

Configure the rental information display.

Configuring settings for rental information
  • 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. Recommended is “Rental information”.
  • Rental information heading
    • Displays the rental information title as a heading within the rental information tab.
  • Rental information
    • 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.

Cart and checkout

↑ Back to top

Configure cart and checkout related settings.

Configuring settings for cart and checkout
  • 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 one 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 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 if 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.

Order and rental management

↑ Back to top

Configure order and rental management related settings.

Configuring settings for order and rental management
  • 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 until the date due to be returned in customer facing areas such as the rental form on the product page, disabling does not effect rentals dashbord inventory totals. Note that 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, this is recommended, however you can disable this setting if you want to set an order to completed and manually mark each order item as returned. This is useful in some limited scenarios, such as if you are using an automated shipping integration which sets dispatched orders to completed. If this setting is disabled then rental return email reminders will not be sent as these check for all non-returned items in processing orders.
  • Managing rental orders information
    • Shows information on rental order management when viewing order details in the dashboard. When enabled the user has the choice of toggling this on or off via the screen options, if disabled it is removed for all users with no screen option available.
  • Calendar feed
    • 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 that 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 404. For details on how to subscribe to this feed URL, see the rentals dashboard calendar information in this documentation.
  • Archive rentals
    • Orders which are older than the amount of days set (based on date order created) will have any rentals marked as returned archived. Set to 0 to disable, any rentals already archived will remain so. When orders are created each rental within the order has associated database data which is queried to check availability, display the rentals dashboard calendar, etc. By archiving the data no longer needed for querying (e.g. rentals marked as returned) it can increase 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.

Rentals dashboard

↑ Back to top

Configure rentals dashboard related settings.

Configuring settings for rentals dashboard
  • Rentals dashboard default tab
    • Select which tab should be active upon accessing the rentals dashboard.

Misc

↑ Back to top

Configure miscellaneous settings.

Configuring settings for misc
  • Advanced configuration
    • Only populate when instructed by the developers of this extension to diagnose an issue or for specific server configurations.
  • Return days display
    • Displays return days in customer facing areas such as the product rental form, cart, checkout and emails. Return days threshold is still used for availability but does not display. This is useful if you wish to instruct the customer to return a product within x days but need to set the return days higher. An example of this would be if you had a rental that needs to be returned within 3 days but allow an additional 3 days to service the product before it is available for rental again. You would set the return days threshold to 6 but instruct the customer to return it within 3 days. In this scenario if this setting was enabled it would instruct the user to return within 6 days and therefore would not allow for the service period. Note that return days is 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.

Emails

↑ Back to top

Configure rental related emails.

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 order for future reference.
    • See the tooltip on each setting for further details.

Text

↑ Back to top

Configure the most commonly used text references.

Configuring settings for text

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 use translations, by translating the default language, see the translation section in this documentation.

Translation

↑ Back to top
Configuring settings for translation

For information on how to use translations with this extension, click the link.

Product management

↑ Back to top

Introduction

↑ Back to top

Rental 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 select the rental tab in the product data section.

Selecting the rental tab in the product data section

Then choose a rental option from the rental product options.

Choose a rental option from the rental product options

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 top

Rental 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 top

Once 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 top

There is also a filter included so you can filter the products list by rental products.

Filtering products list by rentals

Tools

↑ Back to top

You can also find rental product management specific tools in the rentals dashboard, see the rentals dashboard section of this documentation for more information.

Product options

↑ Back to top

Introduction

↑ Back to top

Upon adding or editing a product you will see a rental tab within the product data section, click on this to reveal the rental product options, grouped into categories.

Configuring rental product options via the rental tab

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 top

Configure whether the product is a rental.

Setting a product as a rental, with information on each option
  • Rental product
    • Sets whether this product is a rental. Review and understand how each option works by clicking the more info link. Selecting a yes option will amend any existing stock options set, including variations of variable products.

Pricing

↑ Back to top

Configure rental pricing options.

Configuring pricing options
  • Rental price
    • Set the rental price, click the button to enter the rental price in the associated tab.
  • Pricing type
    • Set the type of pricing. The period pricing type allows you to set a number of days the price is for (e.g. 3 day rental for $10.00), 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) and 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.
  • Pricing period multiples maximum
    • Maximum number of multiples that can be selectable by customer (e.g. if pricing period multiples is enabled, pricing period is 7 and this option is 4 a customer can select a 7, 14, 21 or 28 day rental but no more). Set to 0 for unlimited.
  • Pricing period additional selections
    • Pricing period additional selections are used in addition to the lowest period set on pricing period (days). 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 and a 7 day rental for $10.00).
  • Pricing tiers
    • Increase/decrease price by percentage by number of days selected. Applies to product and any variations.
  • Pricing tiers days greater than
    • Days greater than should be greater than the minimum rental period as rental price display may not be accurate without override.
  • Pricing tiers 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).
  • Price + additional periods %
    • When enabled the price will be the period price + a percentage of the period price multiplied by the amount of periods selected (e.g. 7 day pricing period product is $100 with additional periods % 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 $100).
  • Price + additional period %
    • Set additional period percentage used (e.g. 10 for a 10% additional period percentage).
  • 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 and a 2 day rental $10.00). When using total overrides the rental price display remains as calculated based off the non-overriden 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 top

Configure 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
    • Set if the rental can only be picked up/returned in person. Enable if the product can only be picked up/returned in person. To offer both, consider disabling this and adding optional in person pick up/return times during checkout.
  • In person pick up/return time restrictions
    • When restricted the in person pick up times set 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. 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.
  • In person return date
    • Set when an in person return should occur. Read the information below this option for further details.
  • In person pick up/return times/fees
    • See the tooltip information of each setting for how to populate.
  • 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 start days 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 rental settings. Upon clicking the field above previously disabled dates appear light gray in the calendar, click date again to 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 rental settings. Upon clicking the field above previously disabled dates appear light gray in the calendar, click date again to 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.

Deposits

↑ Back to top

Configure 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 deposit calculation
    • Set how security deposit is calculated. Fixed is the same value regardless of quantity, the quantity option multiplies the security deposit amount by the quantity.
  • Security deposit tax status
    • Set the security deposit tax status.
  • Security deposit tax class
    • Set the security deposit tax class.
  • 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.

Add-ons

↑ Back to top

Configure rental product add-ons.

To add fields e.g. text, select, checkboxes, etc that collect information and/or charge additional fees use WooCommerce Product Add-ons, the options below are only available when WooCommerce Product Add-ons is active.

Configuring add-ons options
  • Add-ons
    • Set the 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.

Calendar

↑ Back to top

Configure 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 calender 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 calender is legible.
  • Inline
    • Allows the customer to select dates immediately without first selecting the date selection field.

Information

↑ Back to top

Configure 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.

Advanced

↑ Back to top

Configure 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. 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. 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. Requires rental or purchase – rental shipping override option to be enabled.

Rentals dashboard

↑ Back to top

Introduction

↑ Back to top

To access the rentals dashboard go to WooCommerce > Rentals.

Selecting rentals from the WooCommerce menu

The rentals dashboard is where you can get a summary of latest and flagged rental orders, an overview of rentals in a calendar, view rental inventory and access tools for advanced rental product management.

Rentals dashboard with summary tab active

Tabs

↑ Back to top

The rentals dashboard is split up into different tabs:

  • Summary
  • Calendar
  • Inventory
  • Tools
  • Orders*
  • Products**
  • Settings***

*Shortcut to orders list with orders including rentals filtered, opens in a new tab.

**Shortcut to products list with rental products filtered, opens in a new tab.

***Shortcut to WooCommerce > Settings > Products > Rental products, opens in a new tab.

You can choose a specific tab to be active upon accessing the rentals dashboard via settings.

Rentals dashboard tabs

Summary

↑ Back to top

The summary tab shows statistics and a summary of latest and flagged rental orders.

Rentals dashboard summary tab

Statistics

The statistics at the top of the summary show the current date/time, and 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

Shows 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 section for any non-rental orders, older rental orders, or to perform any bulk actions, etc.

Flagged rental orders

Rental 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 top

The calendar tab shows all rentals. Each rental order item is a row in the calendar.

Calendar showing rentals in April 2024

Rows

The calendar shows a row for each rental order item across all orders.

Each row has a title containing:

  • Quantity
  • Product name
  • Product ID
  • Order ID
  • Customer name
  • Order status

Click on a row 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.

Rental row in the calendar

Color keys

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

You can see the color keys at the top right, hover over the color keys for further information.

Calendar color keys

Filters

You can filter the rentals in the calendar by one or more of these filters:

  • Color key
  • Order status
Filtering the calendar by color keys and order status

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
Searching for guitar rentals in the calendar

Views

The default view shown is the month calendar, you can change the view to another, views available are:

  • Month calendar
  • Month list
  • Week calendar
  • Week list
  • Day calendar
  • Day list
Calendar views

Toggles

The default view shown is the month calendar, you can also change the view to month list, week calendar, week list, day calendar or day list.

  • 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 a 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 rental settings 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

Calendar feed

You can also enable a calendar feed setting in general rental settings, this allows you to subscribe to a calendar feed to view rentals in your chosen calendar application. For further details on this see the related information in settings. Once enabled a calendar feed button appears in the calendar tab, you can use the calendar feed URL to subscribe to the calendar in your chosen calendar application.

Calendar feed

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, e.g. 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 other 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 rentals dashboard, 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 the rentals dashboard calendar.

Inventory

↑ Back to top

The inventory shows the rental stock totals of all published rental products. There are 2 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 live view

Date view

Shows estimated rental stock totals for the date set. Rentals are considered in when the rental dates (including any return days thresholds) have past, 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 have been returned by the expected return dates (including any return days thresholds).

Viewing inventory in date view

Live view

Shows 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?

This 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?

There 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 top

The tools tab has a number of tools to 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.

View tools in the rentals dashboard

Dashboard widgets

↑ Back to top

Upon logging into your WordPress dashboard, you will see a handy rentals summary dashboard widget, showing latest rental statistics and shortcut links to the tabs in the rentals dashboard, the statistics shown are the same as in the rentals dashboard summary tab.

Rentals summary dashboard widget

Order management

↑ Back to top

How to manage rental orders.

Orders list

↑ Back to top

In 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 top

You can also filter the orders list by rentals using the rentals filter.

Filtering orders list by rentals

Latest rental orders

↑ Back to top

To get a quick overview of your latest rental orders, you may find the WooCommerce > Rentals > Summary useful, this part of the rentals dashboard displays the latest rental orders for quick access.

Latest rental orders

Flagged rental orders

↑ Back to top

To 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 WooCommerce > Rentals > Summary useful, this part of the rentals dashboard displays the flagged rental orders for quick access.

Flagged rental orders

Managing orders

↑ Back to top

Orders 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 that this information will only appear if the managing rental orders information setting is enabled (this is enabled by default), and if it hasn’t been disabled by the user via 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 (information may differ for your store)

Frontend examples

↑ Back to top

Examples of rental functionality shown to the customer throughout their journey around your store and within emails.

Availability checker

↑ Back to top
Availability checker with dates selected in sidebar, with products showing the availability

Product

↑ Back to top
Rental product page showing date selection in the rental form calendar

Category and search

↑ Back to top
Category of products showing rental product pricing and select dates buttons

Cart

↑ Back to top
Cart showing rental product and rental information

Checkout

↑ Back to top
Checkout showing rental product and rental information

Account

↑ Back to top
Account order history showing rental product information

Emails

↑ Back to top
Email showing rental information

Custom development

↑ Back to top

The 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

↑ Back to top
Filter hookDescription
wcrp_rental_products_advanced_pricingAllows advanced pricing calculations to be used, see information under the advanced pricing product option
wcrp_rental_products_cart_fees_disable_security_depositsRental cart fee disable security deposit programmatically e.g. for specific customers, cart contents, etc
wcrp_rental_products_cart_item_priceRental cart item price
wcrp_rental_products_default_rental_optionsDefault rental options
wcrp_rental_products_litepicker_languageISO 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_feesInclude or exclude add-ons with flat fees from multiply add-ons total by number of days selected calculation
wcrp_rental_products_rental_form_total_prefixThe prefix used before the rental total in the rental form totals.
wcrp_rental_products_rental_form_total_days_parenthesisAdds parenthesis around the total days shown in the rental form totals.
wcrp_rental_products_rental_information_titleString from settings
wcrp_rental_products_rental_price_display_prefixString from settings
wcrp_rental_products_rental_price_display_suffixString from settings
wcrp_rental_products_rental_price_htmlRental price HTML markup
wcrp_rental_products_select_dates_button_htmlSelect dates button HTML
wcrp_rental_products_text_availability_checker_appliedString from settings
wcrp_rental_products_text_available_rental_stock_totalsString from settings
wcrp_rental_products_text_check_availabilityString from settings
wcrp_rental_products_text_disable_rental_end_noticeString from settings
wcrp_rental_products_text_disable_rental_start_noticeString from settings
wcrp_rental_products_text_disable_rental_start_end_noticeString from settings
wcrp_rental_products_text_in_person_pick_up_returnString from settings
wcrp_rental_products_text_non_refundableString from settings
wcrp_rental_products_text_pick_up_timeString from settings
wcrp_rental_products_text_refundableString from settings
wcrp_rental_products_text_rent_forString from settings
wcrp_rental_products_text_rent_fromString from settings
wcrp_rental_products_text_rent_toString from settings
wcrp_rental_products_text_rental_availableString from settings
wcrp_rental_products_text_rental_cancelledString from settings
wcrp_rental_products_text_rental_datesString from settings
wcrp_rental_products_text_rental_periodString from settings
wcrp_rental_products_text_rental_returnedString from settings
wcrp_rental_products_text_rental_return_withinString from settings
wcrp_rental_products_text_rental_unavailableString from settings
wcrp_rental_products_text_reset_datesString from settings
wcrp_rental_products_text_return_dateString from settings
wcrp_rental_products_text_return_timeString from settings
wcrp_rental_products_text_security_depositString from settings
wcrp_rental_products_text_select_datesString from settings
wcrp_rental_products_text_view_purchase_optionsString from settings
wcrp_rental_products_text_view_rental_optionsString from settings

Functions

↑ Back to top
FunctionReturn
wcrp_rental_products_advanced_configurationArray of any advanced configuration options set
wcrp_rental_products_availability_checker_dataArray of availability checker data the user has selected in the availability checker
wcrp_rental_products_check_availabilityAvailability status string
wcrp_rental_products_default_rental_optionsArray of the default rental options
wcrp_rental_products_is_rental_onlyTrue/false
wcrp_rental_products_is_rental_purchaseTrue/false
wcrp_rental_products_order_has_rentalsTrue/false
wcrp_rental_products_rental_date_formatRental date formatted string
wcrp_rental_products_rental_form_date_formatRental form date formatted string
wcrp_rental_products_rental_form_first_dayFirst day set on rental form string
wcrp_rental_products_rental_form_maximum_dateThe maximum date string or number of days until allowed for selection in the rental form
wcrp_rental_products_rental_time_formatRental time formatted string

BETA functionality

↑ Back to top

We 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 that there may be occasions where BETA functionality is determined unsuitable for use and removed entirely.

Caching

↑ Back to top

If you are using any form of caching then it is 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 top

This extension may set the following cookies, it is recommended you include details of these cookies in your cookie policy.

NameDescriptionExpiry
wcrp_rental_products_availability_checker_quantityStores the quantity when a user uses the availability checker for next time30 days
wcrp_rental_products_availability_checker_rent_fromStores the rent from date when a user uses the availability checker for next time30 days
wcrp_rental_products_availability_checker_rent_toStores the rent to date when a user uses the availability checker for next time30 days

Screen sizes

↑ Back to top
  • Frontend: Where elements may be displayed they will fit within the screen width
  • Backend: Where interfaces may be displayed it is recommended to use a desktop computer with a resolution of 1920×1080 or higher, for lower resolutions any interfaces will attempt to fit within the screen width but some elements may be close together and/or larger than the screen width

Translation

↑ Back to top

We generally recommend Loco Translate to translate and/or adapt text strings within this product.

For more details on how to translate this product for various scenarios please click the link in the translation section in WooCommerce > Rentals > Settings.

Works with

↑ Back to top

Where we have explicitly stated this product works with another product, this should only be assumed accurate if you are using the version of the other product which was the latest at the time the latest version of this product was released. This is because, while usually unlikely, the other product may have changed functionality which effects this product.

FAQs

↑ Back to top

Something is not working as expected?

↑ Back to top

We recommend reviewing the known compatibility issues information at the top of WooCommerce > Rentals > Settings for a list of potential issues and how to rectify.

How can I block availability for rental products manually?

↑ Back to top

When 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 product 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 to 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 a pending order status for the availability to take the order contents into account, 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, e.g. 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 that it must be deleted permanently not just in trash for the rental stock to be available again). You don’t need to make a payment for the order, aslong as the rental products are the line items of the order they are taken into account for availability calculations.

Is it compatible with a specific theme?

↑ Back to top

This 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 will be compatible before purchase then please contact us and we can advise, it may not be possible for us to determine this e.g. if 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 a compatibility issue you can take advantage of the refund policy for this extension.

Is it compatible with a specific extension/plugin?

↑ Back to top

This 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. If you would like to know if a specific extension/plugin will be compatible before purchase then please contact us and we can advise, it may not be possible for us to determine this e.g. if the extension/plugin requires a license and/or several configuration steps. In this scenario you are welcome to purchase and test this extension with the other extension/plugin and if there is a a compatibility issue you can take advantage of the refund policy for this extension.

Is it compatible with a specific page builder?

↑ Back to top

This 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, it may not be possible for us to determine this e.g. if 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 a compatibility issue you can take advantage of the refund policy for this extension.

Support

↑ Back to top

If you need any further assistance with this extension please contact us. Please note that extension support does not include providing assistance with any custom development requirements as per the WooCommerce support policy.