Multi-garage scoping — what's shared vs per-garage

How Pistonlog separates and shares data when one company runs multiple garages

OwnerManager

Pistonlog's tenancy model is Company → Garages → Users. One company can run several garages — branches, locations, or specialist sites — and the data model is deliberately split between things shared across the company and things isolated per garage.

What's shared across the company

These records live at the company level. Move between garages and they follow you:

EntityWhy it's company-level
CustomersA customer who books at your Bristol branch can also walk into Bath — same record.
VehiclesThe car's history follows the registration no matter which branch services it.
UsersOne login, one identity, regardless of how many garages they work in.

What's scoped to each garage

These are isolated per garage. The Bristol branch's settings can be completely different from Bath's:

EntityWhy it's garage-level
JobcardsEach garage runs its own work list.
Workflow statusesThe kanban columns at Bristol may differ from Bath's columns.
Job templatesQuick-add templates for common jobs are set up per garage.
Inspection templatesEach garage owns its own inspection checklists.
Custom roles & permissionsRoles are seeded per garage so you can give the Bath manager full access there while staying view-only at Bristol.
Reminder templatesMOT and service reminder schedules are per garage.
Suppliers, label colours, branding overridesAll garage-scoped.

Team members and roles

A team member belongs to one or more garages via a join table. In each garage they have a different role with different permissions. Sarah might be a Manager at Bristol with full permissions and a Reception user at Bath with bookings-only access.

The Owner is the exception — there's one Owner per company and they bypass all permission checks at every garage.

Why this split

Customers and vehicles are shared because real-world ownership doesn't care about your branch boundaries. Everything else is scoped per garage because each garage runs its own workflow, has its own team, and may have a slightly different operation. Sharing it would force every site to standardise; isolating it means each site can evolve at its own pace.

Gotchas

Permissions are per-garage, not per-company

Granting someone jobcards.edit at Bristol does not grant it at Bath. If you have a team member who needs access at multiple sites, configure their role in each garage separately.

Customer history is automatically cross-garage

When a customer's car history appears on a jobcard, it includes jobcards from every garage in your company. You don't need to do anything — the data is already shared.

Related

Was this article helpful?