flowchart LR
d1["<b>Children</b><br/>census, postcodes,<br/>council projection"]
d2["<b>Journeys</b><br/>walk and bus,<br/>routed"]
d3["<b>What families ask for</b><br/>factsheets, catchment<br/>preference table"]
d4["<b>Places and rules</b><br/>admission numbers,<br/>council priorities"]
m["<b>Demand</b><br/>children shared by distance,<br/>attractiveness, catchment,<br/>competition"]
c{"<b>Full?</b>"}
p["<b>Priorities</b> decide<br/>who is admitted"]
r["<b>Refused</b> re-offered:<br/>partner school,<br/>then 2nd preferences"]
f["<b>Intakes</b> →<br/>journeys<br/>disadvantaged mix<br/>budgets"]
s["<b>29 options<br/>× 3 years</b><br/>and the<br/>simulator"]
d1 & d2 & d3 --> m --> c
d4 --> c
c -- yes --> p --> r --> c
c -- no --> f --> s
classDef data fill:#f3f5f8,stroke:#9aa7b4,color:#1f3b57;
classDef run fill:#EEDEFF,stroke:#3A1857,color:#3A1857;
classDef out fill:#edf6ef,stroke:#2b7a4b,color:#102a43;
class d1,d2,d3,d4 data;
class m,c,p,r run;
class f,s out;