Overrides and Trials
Entitlements are normally derived from Billing (PBM) subscriptions: what a tenant or customer has purchased determines what they can use. Overrides allow administrators to manually grant or restrict plan capabilities outside the standard subscription terms. This is used for trials, promotional access, custom deals, and corrective adjustments.
Override layers
Overrides exist at two layers, matching the entitlement layers they affect:
| Layer | Who can set them | What they affect |
|---|---|---|
| Tenant overrides | Tenant administrators | Tenant-level entitlements for that tenant |
| Customer overrides | Tenant administrators | Customer-level entitlements for a specific customer within the tenant |
Platform plan limits (the ceiling set by Raytio) cannot be overridden by tenant administrators. They are managed by Raytio and are read-only from the tenant's perspective. If a tenant needs a higher platform ceiling, their Raytio subscription must be changed.
How overrides work
Each override specifies:
- Feature — which billable feature from the catalogue is being overridden.
- Value — the override value (a boolean or integer, matching the feature type).
- End date (optional) — when the override ends. After this date, the override is removed and the entitlement reverts to the subscription-derived value.
- Reason — a text field documenting why the override was granted.
- Granted by — the user who created the override.
Overrides win outright over subscription-derived values. If a customer's subscription grants a limit of 5 active application instances but an override sets it to 10, the resolved plan capability is 10.
Precedence rules
The precedence at each layer is:
Override value > Subscription-derived value > Feature default value
This applies identically at both the tenant and customer layers:
Tenant-level precedence
- Tenant override — if a tenant override exists and has not reached its end date, its value is used.
- Tenant subscription — if no override exists, the value is derived from the tenant's active subscriptions.
- Feature default — if the tenant has no subscription covering the feature, the catalogue default is used.
The resolved tenant capability is then capped by the platform ceiling. For numeric limits, the effective value is the lower of the platform ceiling and the tenant value. For boolean features, the feature must be enabled at both levels.
Customer-level precedence
- Customer override — if a customer override exists and has not reached its end date, its value is used.
- Customer subscription — if no override exists, the value is derived from the customer's active subscriptions within the tenant.
- Feature default — if the customer has no subscription covering the feature, the catalogue default is used.
Customer capabilities are not capped by tenant capabilities — they are enforced independently. However, for features scoped as both, the tenant-level and customer-level checks must both pass.
Trials
A trial is simply an override with an end date. There is no separate trial mechanism — the override system handles it.
To grant a customer a 30-day trial of a premium feature:
- Create a customer override for the feature with the desired value.
- Set the end date to 30 days from now.
- The capability is active immediately.
- After 30 days, the system removes the override automatically. The capability reverts to whatever the subscription provides (or the feature default if there is no subscription).
The same approach works at the tenant level for tenant-wide trials.
End dates and cleanup
A daily process scans both tenant-level and customer-level overrides for entries that have passed their end date. For each ended override:
- The override is removed.
- The affected tenant or customer entitlements are updated.
- The resolved entitlements revert to the subscription-derived values.
This means overrides are not removed at the exact moment of their end date — they are cleaned up during the next daily process. During this window, the override remains in effect.
Interaction between layers
Consider a feature scoped as both (enforced at both tenant and customer levels):
- A tenant override raises the tenant-level entitlement but does not affect customer entitlements. Each customer still has its own resolved entitlement.
- A customer override raises a specific customer's entitlement but does not affect the tenant-level entitlement or other customers.
- A platform ceiling caps the tenant-level entitlement regardless of tenant overrides. If the platform ceiling is
20and a tenant override sets30, the effective tenant entitlement is20.
All layers are independent. An override at one layer does not cascade to another layer.