DemandFlow Support Centre

ODI: ODI

ReferenceEntity Reference16/04/2026Updated 16/04/2026
An OFWAT Outcome Delivery Incentive (ODI) linked to a performance commitment. Tracks targets, financial incentive rates, deadbands, caps/collars, and current performance baseline for the PR24 period (2025-2030).

ODI: ODI

An OFWAT Outcome Delivery Incentive (ODI) linked to a performance commitment. Tracks targets, financial incentive rates, deadbands, caps/collars, and current performance baseline for the PR24 period (2025-2030).

Default definition. This article describes the default ODI definition shipped with DemandFlow. Administrators can add, remove, rename, or re-type fields, change which ones are required, and alter the layout from the Definitions screen in Settings. Your tenant's current schema may differ from what is shown here. To read the current definition at any time, GET the DEFINITION object whose id matches ODI.

Entity properties

PropertyValue
Entity codeODI
Display nameODI
PluralODIs
Level70000

Use cases

Regulatory entity for OFWAT water industry reporting. Six panels: General (three columns - PC identification with reference/description/outcome area/type; measurement & targets with unit/period/baseline/annual PCLs 2025-2030; financial incentives with ODI type/rates/deadband/caps/collars/enhanced thresholds), Performance (relatedlist to ODIYR for annual actuals), Notes (timeline), Documents (file attachments), Tasks (relatedlist to ACTION). Uses level 70000 for regulatory domain.

Fields

Performance Commitment

FieldTypeRequiredNotes
pcReftextYesPC reference
statusenumYesStatus Valid ids: active (Active), draft (Draft), superseded (Superseded), closed (Closed).
nametextYesCommitment name
descriptiontext (multi-line)Description
outcomeenumOutcome area Valid ids: water_quality (Water quality), water_supply (Reliable water supply), environment (Environmental protection), customer (Customer experience), sewerage (Sewerage & drainage), resilience (Asset resilience), biodiversity (Biodiversity & rivers).
pcTypeenumPC type Valid ids: common (Common), bespoke (Bespoke).
priceReviewenumPrice review Valid ids: PR24 (PR24 (2025-2030)), PR19 (PR19 (2020-2025)).
assigned_toreference → userOwner

Measurement

FieldTypeRequiredNotes
unittextUnit of measure
measurementPeriodenumMeasurement period Valid ids: annual (Annual (Apr-Mar)), calendar (Calendar year), 3yr_avg (3-year rolling average), cumulative (Cumulative (AMP)).
performanceBaselinenumberPerformance level at the start of the period
baselineYeartextBaseline year
directionenumDoes a lower or higher number represent better performance? Valid ids: lower (Lower is better), higher (Higher is better).

Annual Targets (PCL)

FieldTypeRequiredNotes
target2025number2025-26
target2026number2026-27
target2027number2027-28
target2028number2028-29
target2029number2029-30

Financial Incentives

FieldTypeRequiredNotes
odiTypeenumODI type Valid ids: financial_both (Financial (both)), financial_under (Underperformance only), financial_over (Outperformance only), reputational (Reputational), nfi (Non-financial incentive).
underperformanceRatenumberPenalty rate per unit of underperformance
outperformanceRatenumberPayment rate per unit of outperformance

Deadbands

FieldTypeRequiredNotes
deadbandUndernumberThreshold before underperformance penalties apply
deadbandOvernumberThreshold before outperformance payments apply

Caps & Collars

FieldTypeRequiredNotes
collarnumberPerformance level at which underperformance penalty is capped
capnumberPerformance level at which outperformance payment is capped
enhancedThresholdnumberLevel at which enhanced outperformance rates apply
enhancedRatenumberHigher rate for performance beyond the enhanced threshold

Documents

FieldTypeRequiredNotes
attachmentsfile

Activity. Activity timeline panel attached.

Relationships

  • Related lists: ODIYR (format SUB|ODI), ACTION (format SUB|ODI).

Creating a ODI via the API

POST /v1/objects
Authorization: Bearer <your-pat>
Content-Type: application/json

{
  "entity":   "ODI",
  "level":    70000,
  "comboKey": "SUB:<your-sub-id>|ENT:",
  "pcRef": "Example",
  "status": "active",
  "name": "Example"
}

Listing ODIs records

# All odis in your tenant
GET /v1/entities/ODI/SUB

See also

odiodisentity reference

Was this article helpful?

← Back to Knowledge Base