Producer codes assigned by line of business
Another common producer code model is that a group of producer codes is given to the agency, one for each line of business (LOB). All agents in the agency use the same producer codes, but not all agents necessarily work with all LOBs. For example, one set of agents handles personal lines exclusively and another set handles only commercial lines.
Under this model, the agency organization would be structured with two groups:
- Personal
- Commercial
Since the users and producer codes each apply to only personal or commercial, they are each assigned to only one of the two groups. Users inherit the producer codes through their group, and do not need to have producer codes assigned explicitly.
Within commercial lines, you may not want to assign the same set of rights for all lines of businesses. For example, for commercial auto, you may want agents only to do submission, policy change, and renewal jobs. However, for workers’ compensation, agents can do only submissions and policy changes.
To assign different rights to
different lines of business, create a single user role, Producer, and assign it to all
agents. This role could contain the superset of permissions that an agent
is expected to be able to use. This role includes permissions for submissions,
policy changes, and renewals. Then create separate producer code roles
for each job type:
- Producer: Submission – Permissions
such as
createsubmissionandeditsubmission - Producer: Policy Change
– Permissions such as
createpolchangeandeditrenewal - Producer: Renewal –
Permissions such as
createrenewalandeditrenewal - Producer: All – General
permissions that apply regardless of job type, such as
viewpolicyfile
The producer codes for commercial auto would then be given the following roles:
- Producer: All
- Producer: Submission
- Producer: Policy Change
- Producer: Renewal
The producer codes for workers’ compensation would only be given the following roles:
- Producer: All
- Producer: Submission
- Producer: Policy Change
By using this model, there would also be a configuration
in the performNameClearance
method in the AccountPlugin.
You must add code to prevent each producer code from being used on an
inappropriate line of business. Finally, use the permission handlers
to limit access for producers of record and for producers who have a
suspended or terminated status.
