Functional Weave
Code in TypeScript

legal.court-deadline@1.0.0

README.md

2,995 bytes · view raw

# legal.court-deadline

Status: needs review by a litigation solicitor before it is published.

The date a period "of days" in the Civil Procedure Rules of England and Wales,
a practice direction or a court order leads to, computed by CPR 2.8:

- **Clear days (2.8(2), (3)).** The day the period begins is not counted, and
  if the period ends by reference to an event, the day of the event is not
  counted either.
- **Short periods (2.8(4)).** In a period of 5 days or less, a Saturday, a
  Sunday, a bank holiday, Christmas Day or Good Friday does not count. The
  holidays are England and Wales's, from dates.bank-holidays (which includes
  Christmas Day and Good Friday); the CPR apply in England and Wales only.
- **Court office closed (2.8(5)).** When a period for doing an act **at the
  court office** ends on a day the office is closed, the act is in time on the
  next day it is open. Closed means a weekend, a bank holiday, or a day in
  `courtClosedDays` (the office's own closures, which the caller knows).

Three shapes of rule, each one of the worked examples in CPR 2.8:

| rule | example | answer |
|---|---|---|
| `within` | particulars of claim within 14 days of service on 2 October | 16 October: the 14th day after |
| `at-least-after` | the hearing at least 28 days after notice given on 1 October | 30 October: 28 clear days between |
| `at-least-before` | notice served at least 3 days before a hearing on Friday 20 October | Monday 16 October |
| `at-least-before`, short | the same, hearing on Monday 20 October | Tuesday 14 October: the weekend does not count |

Every one of those is a vector (2023 for the Friday example, 2025 for the
Monday one).

**Literal reading.** For `at-least-before` and `at-least-after` the date
returned is the one next to the clear days, even if it is a weekend: three
clear days before a Thursday hearing are Monday to Wednesday, so the rule is
satisfied by acting on the Sunday before, and that is what comes back. Whether a
document served that day is deemed served then is a different rule (CPR 6.14,
6.26) and is not applied here. CPR 2.8(5) is applied only to `within` periods
and only when `atCourtOffice` is true: moving a "before" deadline later would
break the clear days it exists to protect, so asking for it is an error.

**Not handled.** Periods in months (CPR 2.10: calendar months; use
dates.add-months), periods expressed as a date or a time of day, deemed service
dates (CPR 6.14, 6.26), extensions by agreement (CPR 2.11, 3.8), and the
rules of other courts and tribunals. Short periods and court-office closures
need the bank holiday calendar for the years they touch; outside the years
dates.bank-holidays publishes, the call fails rather than guessing.

## Source

Civil Procedure Rules, Part 2, rule 2.8 "Time", Ministry of Justice,
https://www.justice.gov.uk/courts/procedure-rules/civil/rules/part02, read on
23 September 2026, including all four worked examples. Bank holidays: gov.uk,
via dates.bank-holidays.