This module extends the functionality of event_sale to support selling reservations of events that still don't exist and to allow you to schedule the creation of events based on how many reservations already exist.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Sell event seats before the event exists: create products that reserve seats for an event type, track pending reservations on sales orders, and later convert them into real event registrations.
This module lets you sell event seats in advance, before any actual event is scheduled. You create a product whose service tracking is set to "Event Reservation" and link it to an event type; Odoo then forces the product to be a service invoiced on order and requires an event type to be chosen.
On the event type itself you get a "Reserved seats" counter (also shown in the event type list) and a button that opens the sales orders containing those reservations.
On a sales order, a "Register in event" button appears once the order is confirmed and still has pending reservations. It opens a wizard listing the reserved lines, where you pick the real event and ticket for each line; you can remove lines you do not want to convert yet and repeat the process later. After conversion, the reservation is turned into a real event registration.
Odoo automatically computes how many seats are still pending on each order line and on the whole order, and the sales analysis report can be grouped by event reservation type. Only salespeople see the reservation counters and buttons.
Depends on
Required by other modules
Models and fields (7)
- event.type · extends an existing modelseats_reservation_total (Reserved seats), reserved_sale_order_line_ids (Reserved sale order lines)
- sale.order · extends an existing modelevent_reservations_pending (Pending event reservations)
- sale.report · extends an existing modelevent_reservation_type_id (Event reservation type)
- sale.order.line · extends an existing modelevent_registration_ids (Event registrations), event_registration_count, event_reservation_type_id
- product.template · extends an existing modelservice_tracking, event_reservation_type_id (Event type for reservations)
- registration.editor · extends an existing model
- registration.editor.line · extends an existing modelevent_reservation_type_id
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-03Confirmation status: 6 confirmed, 3 with no information of 9 versions.
Sources · Odoo 19.0
Confirmed on 2026-11-03 in branch 19.0 of OCA/event.
terminal Installation and usage
OCA documentation · Odoo 19.0Configuration
Source · Odoo 19.0To make use of this module, a user needs these minimal permissions:
- Sales / User: Own Documents Only
- Events / User
Usage
Source · Odoo 19.0To know how many reservations exist for a given event type:
- Go to Events \> Configuration \> Event Templates and pick or create one.
- There's a new smart button called Reserved seats with that count.
- Click on it to get to the sales orders where the seats got reserved.
But that counter will be probably zero when you install, so let's see how to increase it.
To create an event reservation product:
- Go to Sales \> Products \> Products.
- Create one, set Product Type to Service and Create on Order to Event Reservation.
- Select one Event type for reservations.
- Save.
From now on, you can sell event reservations for that event type. To do it:
- Go to Sales \> Orders \> Quotations.
- Create one.
- Set its basic info (customer, date...) and go to Order lines tab.
- Click Add a product.
- Select the event reservation product you created above.
- Set its info (quantity, price...).
- Save that line and the quotation.
At this point, the reservation is not yet confirmed, so if you go to the event type, the smart button will still count zero.
To confirm those reservations:
- Go to the quotation you just created (if you are not there yet).
- Click on Confirm.
Now, if you go to the event type form, the smart button will indicate how many reserved seats exist.
If you want to convert those reservations into real event registrations:
- Go to the quotation you just created (if you are not there yet).
- Click on Register in event.
- In the wizard you see, set the Event and Event Ticket for all the order lines you want to convert into registrations.
- If there is any line you still don't want to convert, remove it from the wizard.
- Click on Next.
- A new wizard will appear, where you will be able to specify the name, email and phone of each one of the attendees. If you don't do it, they will get that info from the sales order customer.
- After that's done, click on Apply.
At this point, the sales order lines will be modified to include the ticket product instead of the reservation product, and the event reservations have been created, linked to those lines.
If the event is set to autoconfirmation, the registrations are confirmed., otherwise, they are kept as draft until an invoice is created for the sales order, and paid. But that is just upstream event_sale module in action.
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
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.