Leave & Sessions
For UK GP practices

Every session and every day of leave, in one place.

A web portal for practice managers and GPs. It tracks sessions worked against each GP’s 12-month target, checks every leave request against the entitlement accrued so far, and warns you early when someone is falling behind.

  • Salaried GPs
  • Partners
  • Locums
  • Practice managers
Dr A. Patel
Salaried GP · 8 sessions/week, Mon–Thu
On track
183 of 358 sessions this leave year 1 session available today
Week of 25 May
Half Mon Tue Wed Thu Fri
AM bank holiday worked worked annual leave not working
PM bank holiday worked study leave annual leave not working
Worked Leave Not working Bank holiday Example
The problem

GP contracts are written in sessions. Most leave tools count days.

Targets live in spreadsheets

A salaried GP owes a number of sessions a year. Practices track it by hand, so a shortfall is often found in March, when it is too late to fix.

Leave is approved blind

Whoever approves a request rarely sees how much leave has actually been accrued by that date, or what the request does to the GP’s target.

Part-time maths is unfair

A GP who never works Mondays loses out on most bank holidays. Counting in days hides this. Counting each GP’s own sessions makes it visible.

How it works

One set of rules, used on every screen and in every report.

Every figure in the portal comes from the same calculation, based on each GP’s contract and working pattern. The dashboard, profiles, requests and reports can never disagree.

Annual target
target = contracted sessions − annual leave − bank holidays

Contracted sessions come from the GP’s real working pattern on real dates. Only bank holidays that fall on that GP’s own working sessions are removed (or a fair pro-rata share, if the practice prefers).

On track, today
available so far = pattern sessions to date − bank holidays − annual leave taken

We compare sessions delivered with sessions the GP could actually have worked so far. Leave taken late in the year no longer makes someone look ahead in September.

Accrued leave
accrued by date = entitlement × months elapsed / 12

A request is checked against the balance accrued by its start date, minus leave already booked and pending. If it goes over, it is flagged as an advance for the manager to decide.

Year-end projection
projected = delivered + remaining sessions − annual leave still to take

Delivered is sessions worked plus study, sick and other leave. The status comes from the projection, and the portal tells you how many extra sessions a month would close the gap.

On trackwithin 2% of target
Behind2–5% short
At riskover 5% short

Default thresholds. Each practice can change them in its settings.

Worked example

Salaried GP, 8 sessions a week, Mon–Thu

Leave year 1 April 2026 to 31 March 2027, six weeks of annual leave, England and Wales bank holidays.

Contracted sessions (Mon–Thu, AM + PM)
418
Annual leave, 6 weeks × 8
− 48
6 bank holidays falling on her working days
− 12
Annual session target
358
Modules

What’s in the portal

Practice dashboard

The practice manager’s morning view: who is on track, who needs attention, who is off this week and what is waiting for approval.

  • Sessions delivered against sessions available, across the whole practice
  • One row per GP with progress bar, variance, leave used and status
  • Pending leave with the entitlement check shown next to Approve and Decline
For practice managers

GP profiles

Everything about one GP’s year on one page, with the maths shown rather than hidden.

  • Target with its full formula, leave available today and at the next leave date
  • Projected year-end and how many extra sessions a month would close any gap
  • Rolling 12-month chart of sessions worked and leave taken, also as a table
For GPs and practice managers

Session logging

A weekly AM/PM grid generated from the GP’s working pattern. Confirm what happened, add extra sessions, mark sessions not worked.

  • Planned sessions appear automatically; bank holidays and leave are filled in
  • “To confirm” counter so nothing is left unrecorded
  • Locums are shown as booked at another practice when they work there
For GPs and practice managers

Leave requests and approvals

GPs request leave by date and half-day. The portal counts only their working sessions and checks the balance before the manager sees it.

  • Annual, study, sick and other leave, each with its own allowance
  • Advance requests clearly marked, with how far they go beyond the accrued balance
  • Approve, decline with a reason, or cancel approved leave that hasn’t started
GPs request · managers decide

Team calendar

A month grid of every GP, split into AM and PM, so cover problems are visible before they happen.

  • Pending requests shown striped, approved leave solid
  • Daily count of GPs off, with a warning above the practice’s limit
  • Leave types visible only to practice managers
For practice managers and GPs

Reports and export

A per-GP summary for any leave year, ready for appraisals, partner meetings and contract reviews.

  • Contracted, bank-holiday share, target, worked, projected and all leave types
  • CSV for the whole practice or one GP, plus a printable version
  • The two previous leave years kept for comparison
For practice managers and partners
Roles

Each person sees what they need

Practice manager

/app
  • Adds GPs and their contracts: sessions per week, pattern, leave entitlement
  • Approves, declines and cancels leave
  • Sees the dashboard, team calendar and reports
  • Sets practice rules such as the maximum number of GPs off at once

GP

/app
  • Sees their own target, projection and leave balance
  • Confirms sessions week by week
  • Requests leave and withdraws their own pending requests
  • Joins by email invitation from the practice

Platform administrator

/admin
  • Separate, restricted sign-in with an authenticator app
  • Reviews access requests from new practices
  • Creates practice workspaces and the first manager account
Built for UK general practice

The details a generic HR tool gets wrong

Sessions, not hours

AM and PM sessions, exactly as GP contracts are written. Half-day leave works naturally.

Bank holidays per working pattern

England and Wales, Scotland or Northern Ireland bank holidays, applied to each GP’s own working days, so part-time GPs are treated fairly.

Your leave year

April to March by default, or per contract. Previous leave years stay available in reports.

Partners, salaried GPs and locums

Different contract types in one practice, each with its own entitlement and pattern. Locums get paid leave only if the practice offers it.

Several practices, one platform

Each practice has its own workspace, users, rules, logo and colours. A GP working at two practices can belong to both.

UK GDPR in mind

Sick leave is treated as health data: no free-text reasons are stored, only managers see leave types, and every change is audit-logged.

Getting started

From request to first approved leave

  1. Request access

    The practice sends its name, ODS code and number of GPs through a short form.

  2. Workspace set up

    Your workspace is created with your leave year, rules and branding, and the practice manager is invited. You then add your GPs and their contracts.

  3. Invite your GPs

    Each GP gets an email invitation, sets a password and sees their own year straight away. Request access to begin.

Under the hood

Modern, maintainable, tested

Built on a mainstream PHP stack, so any Laravel developer can maintain it. The leave and session calculations are covered by automated tests, including part-time patterns, bank holidays and leave-year boundaries.

Bring your practice on board

Ready to see your practice’s year in one place?

Tell us a little about your surgery. We set up your workspace, you invite your GPs.

Request access