TIP: You can type at any time to perform a new search.
Sell resource bookings
sale_resource_booking · OCA/sale-workflow
- Repository
- OCA/sale-workflow · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Appointments
- Folder size
- 0.11 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/sale-workflow
- Last tracking update
- 2026-08-13 17:32:48
- Authors
- Odoo Community Association (OCA), Tecnativa
- Maintainers
- Odoo Community Association (OCA), Tecnativa
- Committers
- Carlos Roca, OCA-git-bot, oca-ci
- Odoo dependencies
- Python dependencies
- cssselect
- System dependencies
- None
- Required by
- None
- Description
This module extends the functionality of sale and resource bookings to support creating pending resource bookings automatically when confirming a sale order and to allow you to generate those sale orders easily from a resource booking type.
Code Analysis ⓘ
Views touched (6)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_template_form_view |
Display resource booking info in form | product.template | form | Inherits product.product_template_form_view |
resource_booking_form |
Display sale order info in booking form | resource.booking | form | Inherits resource_booking.resource_booking_view_form |
resource_booking_sale_view_form |
resource.booking.sale.view.form | resource.booking.sale | form | New |
resource_booking_type_form |
Sale order generator from booking type form | resource.booking.type | form | Inherits resource_booking.resource_booking_type_view_form |
sale_order_booking_confirm_view_form |
sale.order.booking.confirm.view.form | sale.order.booking.confirm | form | New |
view_order_form |
Display resource booking info in form | sale.order | form | Inherits sale.view_order_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (7)
New fields (2)
-
resource_booking_type_combination_rel_idMany2one → resource.booking.type.combination.reldomain="[('type_id', '=', resource_booking_type_id)]"help='If set, the booking will be created with this resource combination. Otherwise, the combination will be assigned automatically later, when the requester schedules the booking.'index=Trueondelete='restrict'string='Resource combination' args: 'resource.booking.type.combination.rel' -
resource_booking_type_idMany2one → resource.booking.typehelp='If set, one pending booking will be generated when sold.'index=Trueondelete='restrict'string='Booking type' args: 'resource.booking.type'
No public methods.
New fields (3)
-
sale_order_idMany2onehelp='Sale order that origins this booking.'readonly=Truerelated='sale_order_line_id.order_id' -
sale_order_line_idMany2one → sale.order.linecopy=Falseindex=Trueondelete='cascade'string='Sale order line'tracking=True args: 'sale.order.line' -
sale_order_stateSelectionhelp='If there is a related quotation and it is not confirmed, the booking will not be able to become confirmed.'readonly=Truerelated='sale_order_id.state'string='Sale order state'
No public methods.
New fields (4)
-
partner_idMany2one → res.partnerondelete='cascade'required=Truestring='Customer' args: 'res.partner' -
product_idMany2one → product.productdomain="[('resource_booking_type_id', '=', type_id)]"ondelete='cascade'required=True args: 'product.product', 'Product' -
product_uom_qtyIntegerdefault=1required=Truestring='Quantity' -
type_idMany2one → resource.booking.typeindex=Trueondelete='cascade'required=Truestring='Booking type' args: 'resource.booking.type'
-
action_generate(self)
New fields (0)
No new fields.
Public methods (1)-
action_sale_order_wizard(self)Help user creating a sale order for this RBT.
New fields (2)
-
resource_booking_countIntegercompute='_compute_resource_bookings' args: 'Resource bookings count' -
resource_booking_idsMany2many → resource.bookingcompute='_compute_resource_bookings' args: 'resource.booking'
-
action_bookings_resync(self)User-forced bookings resync. -
action_confirm(self)Ask to fill booking values, if necessary. -
action_open_resource_bookings(self)Open related bookings. -
create(self, vals_list)@api.model_create_multi -
write(self, vals)
New fields (2)
-
order_idMany2one → sale.orderindex=Trueondelete='cascade'readonly=Truerequired=Truestring='Order' args: 'sale.order' -
resource_booking_idsMany2many → resource.bookingdefault=<expr>string='Bookings' args: 'resource.booking', 'sale_order_booking_confirm_rel', 'sale_order_booking_confirm_id', 'booking_id'
-
action_invite(self)Invite booking requesters without using odoo.tests.Form. -
action_noop(self)
New fields (1)
-
resource_booking_idsOne2many → resource.bookingcopy=Falsestring='Resource bookings' args: 'resource.booking', 'sale_order_line_id'
-
create(self, vals_list)@api.model_create_multi -
write(self, vals)
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…