There are now several ways of defining relationships between users and companies.

Explicit Access

A user has explicit access to a company when a company has been ticked on the user’s companies page or if the company is set as the user’s primary company.

Explicit access has been a part of the system since the beginning and it does offer a significant level of control over who can access what however having to manually assign users can be time consuming and difficult to maintain.

Inheritance (Implied Access)

Each user now has an option called Inherit Dropships.

When this option is enabled, the user will automatically gain implicit access to any dropship companies that have a retailer or supplier parent which the user has explicit access to.

For example, let’s say that Sally has Inherit Dropships enabled and the below companies exist.

Company Name Type Retailer Parent Supplier Parent User ‘Sally’ Has Explicit Access
Bob’s Gifts Retailer N/a N/a N
Bob’s Gifts - Gift Supplies Dropship Bob’s Gifts Gift Supplies N
Gift Supplies Supplier N/a N/a Y

With the Inherit Dropships option enabled, Sally automatically gets access to the Bob's Gifts - Gift Supplies dropship company.

Inheritance is particularly useful as it allows a supplier to take on new dropships without having to manually give all of their production users access.

Dropship Delegation (Implied Access)

Dropship delegation is more complex than the previous methods and caters for a very specific scenario.

When a dropship delegate company is set against a supplier company, any users that have explicit access to the dropship delegate automatically gain implicit access to all of the supplier’s dropships.

This is best explained with an almost real world example.

Company Name Type Retailer Parent Supplier Parent User ‘Sally’ Has Explicit Access
Bob’s Gifts Retailer N/a N/a N
Bob’s Gifts - Content Gateway - Cards Dropship Bob’s Gifts Content Gateway - Cards N
Content Gateway - Cards Supplier N/a N/a N
Custom Gateway - GCS Dropship Custom Gateway GCS Y
GCS Supplier N/a N/a Y

Sally works for GCS (Generic Card Supplier) and so needs to be able to see orders from Bob's Gifts - Content Gateway - Cards.

We could just give Sally explicit access, however manually doing so isn’t feasible because new dropships could be created all the time.

We could also use inheritance and give Sally explicit access to Content Gateway - Cards however this would give her control over all licensed content card products owned by Content Gateway - Cards.

The solution is to set Content Gateway - Cards to have Custom Gateway - GCS as its dropship delegate.

This means that Sally will automatically get access to any dropships that have Content Gateway - Cards set as the supplier.

It is now also easy for Content Gateway - Cards to switch to a new supplier without needing to update lots of users manually.

Dropship delegation also applies to supplier integrations (including any associated status update callback mechanisms).

For example, an integration enabled against Custom Gateway - GCS would automatically pull in orders from Bob's Gifts - Content Gateway - Cards and all other associated dropships.