Sell resource booking products in your eCommerce

website_sale_resource_booking
REPOSITORY
REPOSITORYOCA/e-commerce
GIT
GIThttps://github.com/OCA/e-commerce.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/e-commerce/tree/17.0/website_sale_resource_booking
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYWebsite
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSVíctor Martínez, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/e-commerce
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:03
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/calendar:
    - resource_booking
OCA/sale-workflow:
    - sale_resource_booking
OCA/web:
    - web_calendar_slot_duration
    - web_ir_actions_act_multi
odoo/odoo:
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - account_payment
    - account
    - onboarding
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
    - calendar
    - website_sale
    - website
    - social_media
    - google_recaptcha
    - website_payment
    - website_mail
    - portal_rating
    - rating
    - delivery
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES cssselect
geoip2
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
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.

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
product product ir.ui.view qweb Inherits website_sale.product
product_template_form_view Display booking expiration product.template group Inherits sale_resource_booking.product_template_form_view
scheduling Schedule Bookings ir.ui.view qweb New
scheduling_calendar Resource Booking Calendar for Checkout ir.ui.view qweb Inherits resource_booking.scheduling_calendar
Models touched (5)

New fields (2)
  • resource_booking_expiration Datetime
    compute='_compute_resource_booking_expiration'
  • resource_booking_timeout Float
    default=1 help='When resources are pre-booked, the booking will expire after this timeout if the quotation is not confirmed in time.' args: 'Pre-booking timeout'
Public methods (0)

No public methods.

New fields (3)
  • expiration Datetime
    help='When will this booking expire if its related quotation is not confirmed in time?'
  • prereserved_email Char
  • prereserved_name Char
Public methods (1)
  • action_cancel(self)
    Clean personal/cron data that you will never need again. Keeping this information without a clear purpose would incur into legal obligations in some countries, so it's better to just dump it.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/e-commerce
GIT
GIThttps://github.com/OCA/e-commerce.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/e-commerce/tree/15.0/website_sale_resource_booking
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYWebsite
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSPedro M. Baeza, Weblate, OCA-git-bot, oca-ci, Stefan
WEBSITE
WEBSITEhttps://github.com/OCA/e-commerce
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:31
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/calendar:
    - resource_booking
OCA/sale-workflow:
    - sale_resource_booking
OCA/web:
    - web_calendar_slot_duration
    - web_ir_actions_act_multi
odoo/odoo:
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - utm
    - calendar
    - website_sale
    - website
    - social_media
    - google_recaptcha
    - website_payment
    - website_mail
    - portal_rating
    - rating
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES cssselect
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
product product ir.ui.view qweb Inherits website_sale.product
product_template_form_view Display booking expiration product.template group Inherits sale_resource_booking.product_template_form_view
scheduling Schedule Bookings ir.ui.view qweb New
scheduling_calendar Resource Booking Calendar for Checkout ir.ui.view qweb Inherits resource_booking.scheduling_calendar
wizard_checkout wizard_checkout ir.ui.view qweb Inherits website_sale.wizard_checkout
Models touched (4)

New fields (2)
  • resource_booking_expiration Datetime
    compute='_compute_resource_booking_expiration'
  • resource_booking_timeout Float
    default=1 help='When resources are pre-booked, the booking will expire after this timeout if the quotation is not confirmed in time.' args: 'Pre-booking timeout'
Public methods (0)

No public methods.

New fields (3)
  • expiration Datetime
    help='When will this booking expire if its related quotation is not confirmed in time?'
  • prereserved_email Char
  • prereserved_name Char
Public methods (1)
  • action_cancel(self)
    Clean personal/cron data that you will never need again. Keeping this information without a clear purpose would incur into legal obligations in some countries, so it's better to just dump it.

New fields (0)

No new fields.

Public methods (1)
  • onchange_partner_id(self)
    @api.onchange('partner_id')
    Update bookings partner when user creates account in checkout wizard.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/e-commerce
GIT
GIThttps://github.com/OCA/e-commerce.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/e-commerce/tree/13.0/website_sale_resource_booking
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYWebsite
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSPedro M. Baeza, david, Víctor Martínez, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/e-commerce
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:10
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/calendar:
    - resource_booking
OCA/sale-workflow:
    - sale_resource_booking
OCA/web:
    - web_calendar_slot_duration
    - web_ir_actions_act_multi
odoo/odoo:
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - utm
    - calendar
    - website_sale
    - website
    - social_media
    - website_payment
    - website_mail
    - website_form
    - website_rating
    - rating
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES cssselect
freezegun
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
assets_frontend assets_frontend ir.ui.view qweb Inherits website.assets_frontend
assets_frontend_demo assets_frontend_demo ir.ui.view qweb Inherits website.assets_frontend
product product ir.ui.view qweb Inherits website_sale.product
product_template_form_view Display booking expiration product.template group Inherits sale_resource_booking.product_template_form_view
scheduling Schedule Bookings ir.ui.view qweb New
scheduling_calendar Resource Booking Calendar for Checkout ir.ui.view qweb Inherits resource_booking.scheduling_calendar
wizard_checkout wizard_checkout ir.ui.view qweb Inherits website_sale.wizard_checkout
Models touched (4)

New fields (2)
  • resource_booking_expiration Datetime
    compute='_compute_resource_booking_expiration'
  • resource_booking_timeout Float
    default=1 help='When resources are pre-booked, the booking will expire after this timeout if the quotation is not confirmed in time.' args: 'Pre-booking timeout'
Public methods (0)

No public methods.

New fields (3)
  • expiration Datetime
    help='When will this booking expire if its related quotation is not confirmed in time?'
  • prereserved_email Char
  • prereserved_name Char
Public methods (1)
  • action_cancel(self)
    Clean personal/cron data that you will never need again. Keeping this information without a clear purpose would incur into legal obligations in some countries, so it's better to just dump it.

New fields (0)

No new fields.

Public methods (1)
  • onchange_partner_id(self)
    @api.onchange('partner_id')
    Update bookings partner when user creates account in checkout wizard.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/e-commerce
GIT
GIThttps://github.com/OCA/e-commerce.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/e-commerce/tree/12.0/website_sale_resource_booking
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYWebsite
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSPedro M. Baeza, Jairo Llopis, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/e-commerce
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:14
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/calendar:
    - resource_booking
OCA/sale-workflow:
    - sale_resource_booking
OCA/web:
    - web_calendar_slot_duration
    - web_ir_actions_act_multi
odoo/odoo:
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - payment
    - account
    - product
    - decimal_precision
    - uom
    - analytic
    - portal
    - http_routing
    - digest
    - calendar
    - resource
    - website_sale
    - website
    - web_editor
    - social_media
    - website_payment
    - website_mail
    - website_form
    - website_rating
    - rating
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES cssselect
freezegun
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
assets_frontend assets_frontend ir.ui.view qweb Inherits website.assets_frontend
assets_frontend_demo assets_frontend_demo ir.ui.view qweb Inherits website.assets_frontend
product product ir.ui.view qweb Inherits website_sale.product
product_template_form_view Display booking expiration product.template group Inherits sale_resource_booking.product_template_form_view
scheduling Schedule Bookings ir.ui.view qweb New
scheduling_calendar Resource Booking Calendar for Checkout ir.ui.view qweb Inherits resource_booking.scheduling_calendar
wizard_checkout wizard_checkout ir.ui.view qweb Inherits website_sale.wizard_checkout
Models touched (4)

New fields (2)
  • resource_booking_expiration Datetime
    compute='_compute_resource_booking_expiration'
  • resource_booking_timeout Float
    default=1 help='When resources are pre-booked, the booking will expire after this timeout if the quotation is not confirmed in time.' args: 'Pre-booking timeout'
Public methods (0)

No public methods.

New fields (3)
  • expiration Datetime
    help='When will this booking expire if its related quotation is not confirmed in time?'
  • prereserved_email Char
  • prereserved_name Char
Public methods (1)
  • action_cancel(self)
    Clean personal/cron data that you will never need again. Keeping this information without a clear purpose would incur into legal obligations in some countries, so it's better to just dump it.

New fields (0)

No new fields.

Public methods (1)
  • onchange_partner_id(self)
    @api.onchange('partner_id')
    Update bookings partner when user creates account in checkout wizard.

New fields (0)

No new fields.

Public methods (0)

No public methods.

STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/e-commerce
PULL REQUEST
PULL REQUEST[16.0][MIG] website_sale_resource_booking (#851)