summaryrefslogtreecommitdiff
path: root/addons/event_crm/__init__.py
diff options
context:
space:
mode:
authorJérémy Hennecart <jeh@odoo.com>2020-03-03 13:56:17 +0000
committerThibault Delavallée <tde@odoo.com>2020-06-10 16:10:28 +0000
commit76129e3b445e29c70b143fd7af3fb694a1e70680 (patch)
tree61fb7c86161217b9250b4abd1db0485c387f3399 /addons/event_crm/__init__.py
parent65c0ea615bb7c069e3c3259c916302a1f3482f51 (diff)
[ADD] event_crm: create leads from attendees
PURPOSE Introduce an automated tool to create leads from event registrations. Events are a powerful source of leads as they attract attention. This leads to leads with good quality as they mark interest while gathering contact information which allows to follow-up. This merge aims at automating this process by automatically creating leads based on user-defined rules. SPECIFICATIONS Add a new module event_crm. It allows to create leads automatically based on event registrations. This is done based on rules defined in a new model event_lead_rule. Add a new menu "Lead Generation" in the configuration tab of an event. It allows to create generation rules. Those are a set of conditions to generate a lead with some pre-filled values as the type of lead, tags or salesperson. SPECIFICATIONS: CREATION TYPE There are two types of lead creation: * per attendee: create a lead for each registration; * per order: create a lead for a group of registrations; The last one is only available through interface if it is possible to register a group of attendees in one action (when event_sale or website_event are installed). Behavior itself is implemented directly in event_crm. Basically a group is either a list of registrations belonging to the same event and created in batch (website_event flow). With event_sale this definition will be improved to be based on sale_order. SPECIFICATIONS: CREATION TRIGGERS There are three options to trigger lead creation. We consider basically that lead quality increases if attendees confirmed or went to the event. Triggers allow therefore to run rules: * at attendee creation; * at attendee confirmation; * at attendee venue; This trigger defines when the rule will run. SPECIFICATIONS: FILTERING REGISTRATIONS When a batch of registrations matches the rule trigger we filter them based on conditions and rules defines on event_lead_rule model. Heuristic is the following: * the rule is active; * if a filter is set: filter registrations based on this filter. This is done like a search, and filter is a domain; * if a company is set on the rule, it must match event's company. Note that multi-company rules apply on event_lead_rule; * if an event category is set, it must match; * if an event is set, it must match; * if both event and category are set, one of them must match (OR). If none of those are set, it is considered as passing; If conditions are met, leads are created with pre-filled informations defined on the rule (type, user_id, team_id). Contact information coming from the registrations are computed (customer, name, email, phone, mobile, contact_name). SPECIFICATIONS: OTHER POINTS Note that all rules matching their conditions are applied. This means more than one lead can be created depending on the configuration. This is intended in order to give more freedom to the user using the automatic lead generation. Once a lead is created for an event registration, a stat button on the event is available to show the number of leads generated for this event and to be able to find them in one click. Additionally on the lead form, a stat button will be display to show the registrations linked to this lead. On registrations a stat button is also displayed to find the leads created from it or from its group. Most of code has been written to run in batch, in case multiples rules have to run on a set of new registrations. Tests are added to ensure behavior. LINKS Task ID 2166679 PR #52334 Upgrade PR odoo/upgrade#1292 Co-Authored-By: Jérémy Hennecart <jeh@odoo.com> Co-Authored-By: Thibault Delavallée <tde@odoo.com>
Diffstat (limited to 'addons/event_crm/__init__.py')
-rw-r--r--addons/event_crm/__init__.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/addons/event_crm/__init__.py b/addons/event_crm/__init__.py
new file mode 100644
index 00000000000..dc5e6b693d1
--- /dev/null
+++ b/addons/event_crm/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import models