Plan terms
The member-facing vocabulary of an Olly plan, defined in one place. Each term says what it means to the member, where it lives in the product data (the catalogue), and where it is enforced. Sources: the plan documents below, the product catalogue, the Notion PRD where a sub-journey specifies the behaviour, and the enforcing code.
The plan documents
The member-facing Policy Wording & Benefit Schedule, one per tier - the authoritative wording of every term on this page:
- Olly Health Cover - Base
- Olly Health Cover - Standard (£19.50 per person / month)
- Olly Health Cover - Unlimited
Each schedule is generated from the product version - the footer carries the version locator ("Product OHC-2026 · version PVR-2026-000033") - so the catalogue is upstream and the wording is its rendering, never the other way round. The footer also shows "(DRAFT)": the unpublished-versions state noted in the Product deep-dive §9 is visible on the documents themselves.
The insurance books
The CII study texts the domain design was grounded in (hosted internally; searchable text extracts live at /root/cii-texts/*.txt):
| Book | Title |
|---|---|
| W01 | Award in General Insurance |
| IF1 | Insurance, legal and regulatory |
| IF2 | General insurance business |
| IF3 | Insurance underwriting process |
| IF4 | Insurance claims handling process |
| IF7 | Healthcare insurance products - the PMI book, closest to Olly's domain |
| M67 | Fundamentals of risk management |
| M80 | Underwriting practice |
| 820 | Advanced claims |
| 960 | Advanced underwriting |
Where a term below has a Book line, that text is where to go and read the industry treatment; each quote's excerpt card shows the highlighted passage on its page. (CII copyright - internal use only, never republish.)
| Term | Catalogue key | Enforced by |
|---|---|---|
| Cooling-off period | term.cooling_off_days | not yet wired |
| Included allowance | included_per_year | accumulators |
| Contribution | contribution_* | displayed; collection not wired |
| Benefit limit | annual_limit | accumulators |
| Referral requirement | referral_required | eligibility verdicts |
| Late-cancellation forfeit | - (PRD rule) | care cancellation + ledger (partial) |
| Renewal notice | term.renewal_notice | not yet wired |
| Pre-existing conditions | restrictions.pre_existing_conditions | MANUAL_REVIEW verdict |
Cooling-off period
The member's right to cancel a new policy within a window of taking it out and be refunded - the UK distance-selling cancellation right for insurance. The Standard schedule words it: "14 days from your start date - full refund if unused", with cover starting "on the date your application is confirmed" - which the catalogue encodes as cooling_off_days: 14 and start: on_application_confirmation.
- Wording: Standard schedule, "Payment, cancellation and your rights"
- Book: IF1 (ICOBS): "the right to a cooling-off period of 14 days for most general insurance contracts" - with the nuance that insurers may charge for services already provided
- In the data: the catalogue's
termblock (product schema deep-dive §6) - Enforced by: nothing yet - no cancellation-with-refund flow reads it; the value is contractual copy today
- PRD: no sub-journey specifies the cooling-off flow yet (plan cancellation in J-007 covers appointment cancellation, a different thing)
Included allowance
The number of sessions of a benefit the plan includes per policy year before any member contribution: "5 GP video consultations a year". The PRD's member language: "2 of 5 remaining this year".
- In the data:
included_per_yearon session-metered modules - Enforced by: a SESSION_LIMIT accumulator seeded per member per term; consumption keeps counting past the allowance (sessions beyond it are the contribution-payable ones)
- PRD: the annual-reset question was raised as J-005.7 open question ("Is the entitlement cycle annual, and does it align with the Policy Record and policy year?" - Notion); the build's answer is yes: accumulators are keyed by policy term, so a renewal starts fresh counters
Contribution
The member's share of a cost - UK PMI's cousin of a copay. Two shapes: after-included (first N sessions free, then a fixed amount per session, e.g. £25 after the 5 included GP visits) and per-use (every use carries a share, quoted before the service - diagnostics).
- In the data:
contribution_after_included/contribution_per_use, plusrestrictions.contribution_paid_before_service - Enforced by: displayed only today; collection is designed to flow as
CONTRIBUTIONcharges through billing (the charge type is declared on the version), not yet wired - PRD: the forfeit warning copy in J-007 V1.7 shows the member-facing framing of session costs
- Book: IF7: "most healthcare insurers offer customers the option of an excess (sometimes called a deductible)" - Olly's per-session contribution is the same premium-reducing cost-share, shaped per benefit instead of per policy
Benefit limit
A money cap on a benefit per policy year: "£250 of diagnostics".
- In the data:
annual_limit(+currency) on money-metered modules - Enforced by: a BENEFIT_LIMIT accumulator per member per term; adjudication reads remaining balance at claim time
- Book: IF7: stated annual limits per benefit are standard PMI practice
Referral requirement
Some benefits need an Olly referral before booking - diagnostics requires a GP or triage referral so tests are clinically anchored.
- In the data:
referral_required: trueon the module - Enforced by: every eligibility check on the module returns a
REQUIRES_REFERRALverdict; enforcement happens at booking - PRD:
restrictions.referral_via_app_where_requiredstates the app-only referral channel
Late-cancellation forfeit
Cancelling an appointment more than 24 hours before the slot is free (with a reason capture); cancelling inside 24 hours forfeits one session from the plan, with a warning before the member commits. Attendance itself is what consumes a session; the forfeit writes the same ledger with a distinct reason code, idempotent by booking id.
- In the data: not a catalogue key - a PRD-specified rule of plan usage
- Enforced by: care records cancellations (reason and comment fields on the appointment); the entitlement effect is the accumulator ledger. The 24-hour boundary is computed server-side per the PRD's ubiquitous criterion. Forfeit-specific reason codes are not yet observed in the claims/accumulator path - partial
- PRD: V1.7 Cancellation and Plan Usage (J-007) - flows, screens 7.1-7.5, acceptance criteria including idempotent confirmation and the 15-minute usage-processing window
Renewal notice
The plan renews annually and the member is notified ahead of renewal.
- In the data:
term.renewal_notice: true; the scheme carriesrenewal_date(staged, Scheme deep-dive §9) - Enforced by: not yet wired - renewal exists as a policy transaction category (
RENEWAL) and a new term; the notice itself is a Novu workflow to be authored - Book: IF7: PMI is "typically on a rolling monthly or an annually renewable basis" ; IF2: "the standard renewal procedure involves the insurer issuing a renewal notice"
Pre-existing conditions
Conditions the member already had are handled per the plan's declared basis - OHC-2026: assessed_at_claim (no medical underwriting at enrol; assessment happens if and when a claim touches the condition).
- In the data:
restrictions.pre_existing_conditions.basis - Enforced by: every eligibility check surfaces a
MANUAL_REVIEWverdict quoting the basis - deliberately routed to human judgment, never auto-decided - Book: IF7: PMI handles pre-existing conditions via a pre-existing conditions exclusion (PECE) under either moratorium or full medical underwriting; Olly's
assessed_at_claimis the moratorium-style approach
Related reading: Product & catalogue deep-dive (how these terms are stored and read) · Policies & Coverage (the contract model) · Eligibility & Accumulators (how allowances are metered).
