Coverage Gaps
Where the org is short on tutors: postcodes with booking demand but too few IN-PERSON tutors covering them, ranked worst-first.
Delegates to the get_org_coverage_gaps RPC — the single source of truth shared with
the in-app coverage map. Demand comes from this org’s booking requests, status-weighted
in SQL (pending weighs most; declined/expired/matched less) and placed by
preferred_postcode. Supply counts IN-PERSON covering tutors only: an online
all-areas tutor “covers” everywhere but cannot physically be in the area, so it must
not mask a geographic gap. Aggregated per postcode (filter by subject for a single
subject). Read-only intelligence: it recommends where to recruit, it changes nothing.
Authorizations
Org API key as Token token=ei_live_...
Query Parameters
Restrict demand + supply to this subject id
A postcode is a gap when fewer than this many tutors cover it
1 <= x <= 20Max gap rows to return (default 50, max 200)
1 <= x <= 200