This is a module that allows to add a field to views that would allow users to choose among all possible emails (from different models) one may want to specify in a field. For example, one may want to choose both an email of a department from the module hr.department (which doesn't originally contain a field for email, but it's a reasonable place to add such field to) and emails of some res.partners, too, so that a mail is sent both to a department's mail and to some res.partner's mails, that were all chosen in a single field.
Let's now add a field to Time Off model connected to 'res.email' model defined in this module:
Now let's add this new field to a time off form view to see it working:
As you can see, you can now pick different entities there:
And each of them has emails associated with them:
Here you can see how the essential information is stored in the database. Note that the 'name' (which is the representation of those fields in the dropdown we saw above) is not stored, hence NULL values:
Now you can write some custom logic that would send notifications to the emails of those entities.