OdooWiki OCA HUB

Sell resource booking products in your eCommerce

website_sale_resource_booking folder_open OCA/e-commerce open_in_new
Website License: AGPL-3

This module extends the functionality of sale_resource_booking to support the eCommerce use case and to allow your visitors to buy products that produce a resource booking, and pre-book them before buying.

You can also set a timeout for those pre-bookings to expire if unpaid.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Lets online shoppers pre-book resources (like rooms or equipment) for products sold on your website, before paying. Unpaid pre-bookings expire automatically after a timeout you set per product.

When a product is linked to a resource booking type, the product page now shows a message telling the buyer that a pre-reservation can be made from the cart and when it would expire.

In the cart and checkout, a new "Schedule bookings" step appears. The customer picks a time slot on a calendar and enters the attendee's name and e-mail. Each booking in the cart is handled one by one, with a title like "Pre-schedule your booking (1 of 3)". If a slot is no longer available, an error is shown and the customer can pick another.

On the product form, a "Pre-booking timeout" field (in hours, default 1) controls how long a pre-booking stays valid. A scheduled job runs every minute and cancels expired pre-bookings that are still pending or scheduled, freeing the resource.

When the order is confirmed, the pre-reserved name and e-mail are turned into a real contact (created if needed), the booking is confirmed, and a portal share e-mail is sent to the attendee. If the customer creates an account during checkout, the booking's partner is updated to the new contact.

Personal data (name, e-mail, expiration) is cleared when a booking is cancelled, to avoid keeping unnecessary personal information.

Depends on

Models and fields (3)
  • website · extends an existing model
  • product.template · extends an existing modelresource_booking_timeout (Pre-booking timeout), resource_booking_expiration
  • resource.booking · extends an existing modelexpiration, prereserved_name, prereserved_email

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 5 confirmed, 4 with no information of 9 versions.

Sources · Odoo 13.0

Confirmed on 2026-11-03 in branch 13.0 of OCA/e-commerce.

terminal Installation and usage

OCA documentation · Odoo 19.0

To install this module, you need these dependencies:

  • resource_booking from
  • sale_resource_booking from

To use this module, you need to know how to use sale_resource_booking and resource_booking. This document doesn't explain the details for those related modules.

All products that you link to a resource booking type will allow pre-bookings if sold from your eCommerce. To configure those pre-bookings timeout:

  • Go to the product form in the backend.
  • Use the Resource booking timeout field, in the Sales tab.

When you go to that product's eCommerce page, you'll see a little message above the Add to cart button, telling the user that they will be able to pre-book it before buying.

When you add to your cart one (or more) bookable products, you will see in the eCommerce checkout wizard a new step that you will have to follow to be able to buy. This step will display a calendar with bookable slots for you to choose.

When you are redirected to payment, make sure to pay before your pre-bookings expire!

No verified information in OCA: Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.