Search the documentation

Find a page by title or section.

Administration

Feature flags

How a capability is switched on: the entitlement your plan grants, the opt-in you control, and why both are needed.

Updated

Not every part of Cooriroo is on for every tenant. Capabilities are gated by feature flags — small named switches the product checks before it shows a screen or accepts a request. Most of them are decided entirely by your plan. Three of them are not, and those three are the reason this page exists: they need two switches to agree before anything changes.

Who can do this

Role
Superadministrators
Permission
feature-flags:write

Granting or removing an entitlement is a platform-team action; the console that does it is not reachable from inside a tenant. The second half of a two-level gate is owned by a tenant admin — see the steps below.

Two levels, and both must agree

For a small set of features, being allowed to use something and having chosen to use it are separate facts, held in separate places by separate people. The platform team decides whether your tenant may use a capability. You decide whether your tenant does. The feature is live only when both are true — the two levels are combined with AND, never with OR.

The split is deliberate. Without it, buying a capability would silently change how everyone’s screens behave the moment a contract was signed, and turning it off again would mean asking someone outside your company to make the change.

Level 1 — entitlementLevel 2 — tenant opt-in
Question it answersMay this tenant use it?Does this tenant want it?
Who sets itThe Cooriroo platform teamA tenant admin
Where it livesYour plan, or an exception granted to youCustomization → Operations
DefaultOff until grantedOff until you turn it on
When it is offThe toggle is locked with an explanationThe toggle is available and simply unused
The two levels of the gate. A feature is live only when both columns are on.

The three two-level features

Exactly three features work this way. Every other flag in the product is a single gate — the entitlement alone decides it.

  • Delivery pools — the pooled-destination subsystem, opted into under Operations once your plan includes it.
  • Optional vehicles — whether a trip can be assigned or started without a vehicle. This one is inverted, and worth reading twice: a vehicle is required by default. The entitlement grants the ability to relax that rule, and the Operations toggle is where you relax it. Without the entitlement the control is locked on, not off.
  • Destination default tasks — automatically importing a destination’s default tasks onto a stop that links to it. Entitled but not opted in means stops stay empty, which looks exactly like the import failing.

Who can do this

Role
Administrators

The opt-in half is a tenant setting, so any admin can change it. It has no effect until the matching entitlement is granted, and the control is locked until then.

Turning on a two-level feature, end to end.

  1. 1

    Ask the platform team for the entitlement

    Name the feature. The grant can come from your plan or from an exception issued to your tenant alone, and either is enough — the product does not care which layer supplied it.

  2. 2

    Confirm the control has unlocked

    Customization → Operations

    Once the entitlement lands, the toggle stops being locked and the note about your plan disappears. If it is still locked, the grant has not arrived yet — do not go looking for a second setting.

  3. 3

    Turn the toggle on and save

    Customization → Operations

    This is your opt-in. It is a tenant-wide setting, so it changes the behaviour for every admin and every driver in the tenant, not just for you.

  4. 4

    Reload the screens that use it

    Open sessions pick up an entitlement change within about half a minute, or immediately when you return focus to the tab. If a colleague still sees the old behaviour, a refresh is the whole fix.

How a value is decided

The entitlement half of the gate is itself resolved from several layers. They are checked in a fixed order and the first that applies wins, so knowing the order tells you which conversation to have when a value surprises you:

  1. Kill switch — a global emergency stop for one feature across every tenant. It beats everything below it, including a plan that clearly includes the feature.
  2. Tenant exception — an add-on, promotion, trial or manual grant issued to your tenant alone. It beats your plan, and a time-boxed one lapses on its own.
  3. Plan — the version of the plan your tenant resolves against. This is where most answers come from.
  4. Built-in default — what the product ships with when nothing above applies. For nearly every gated capability that default is off.
  5. Fallback — if the value genuinely cannot be read, each feature has a declared behaviour. Most gated capabilities deny; usage metering deliberately allows, so an infrastructure problem never blocks paying work.

Plan entitlements and operational flags

Two populations of flags share that resolution order, and telling them apart tells you who to ask.

  • Commercial entitlements are plan values: the numeric caps behind Plan & Usage, the AI assistant switch, the route-optimisation level. They are derived from your plan version rather than stored separately, so changing a plan’s limits changes them and nothing else has to be kept in step.
  • Operational flags are engineering switches: delivery pools, live driver presence, geocoding auto-fill, import history, the MCP endpoint, campaign chatbot, custom-field expansion, and the external-integrations engine. They exist so a capability can be rolled out or stopped independently of any plan.

Flags are matched on stable keys, never on plan names, which is why a tenant on a plan called Enterprise and a tenant on a bespoke arrangement can resolve to exactly the same set of capabilities.

When a change does not appear

The toggle under Operations is greyed out
Cause

Level 1 is off — the entitlement is not granted to your tenant.

The note beside the control says so. Nothing you can change inside the tenant will unlock it; the grant has to come from the platform team.

The entitlement was granted, but nothing changed
Cause

Level 2 is off — the tenant opt-in was never switched on.

Open Customization → Operations and turn the matching toggle on. For optional vehicles, remember the inversion: you are turning the requirement off, not turning a feature on.

A feature that worked this morning has gone
Cause

A kill switch, an expired exception, or a plan change.

A time-boxed grant lapses on its own with no warning in the UI, and a kill switch beats everything beneath it. Check Plan & Usage first: if the plan version has moved, your limits and capabilities moved with it.

A colleague sees the feature and I do not
Cause

Their session has refreshed and yours has not.

Entitlements are resolved for the session, refreshed roughly every half minute and whenever the tab regains focus. Reload the page. Note that the screens are only being polite — the change is enforced on the server immediately, so a stale tab cannot actually use a capability it has lost.

An integration reports “feature not enabled”
Cause

The entitlement gates the API too, not only the interface.

Gated endpoints refuse the request outright when the feature is off, whatever scopes the API key carries. Widening the key will not help; the entitlement is what has to change.

Terminology

Your organisation can rename these. If your screens say something else, this is what they mean here.

Vehicle
The asset a trip is run with. The Operations toggle is labelled with your tenant’s own word for it, so it may not read “Require vehicle”.Rename it in Customization → Terminology
Destination
A place goods are delivered to. Default tasks are held on the destination and copied onto a stop that links to it.Rename it in Customization → Terminology
Task
A unit of work to be completed, on a stop or standing alone. Some tenants call these jobs, checks or actions.Rename it in Customization → Terminology