How to match someone to housing

Matching a person to housing moves them from the queue into an available unit. The matcher runs eligibility on the server before any write — it will refuse the match if the person doesn't meet the unit's constraints.

How eligibility works:
Each unit declares its eligibility on creation:
• chronicHomelessOnly — PSH common requirement
• veteranOnly — SSVF / HUD-VASH
• youthOnly — Chafee / TAY housing (with minAge / maxAge bounds)
• familyOnly / singleAdultOnly
• dvSurvivorOnly — VAWA-funded
• reentryOnly — Second Chance Act
• accessibility — ['mobility', 'visual', 'sober-living']
• minAge / maxAge
• catchmentArea — ZIP codes / CoC codes

The matcher reads the person's HMIS fields and the unit's eligibility, refuses the match if they don't align, and explains why.

The Coordinated Entry tab shows your current queue + open units side-by-side. Click a person, click a unit, confirm. Or ask Wally — "find open beds" and "match Marcus to the PSH unit at Riverside" — for a one-click flow.

After a match:
• The unit flips to 'matched' (capacity decrements)
• The person's enrollment gets ce.matchedAt + ce.matchedToUnitId
• Their /me/services next-step updates to "Move-in scheduled" with the agency contact
• If a Housing Move-In Date is later set, the federal report counts this as a successful exit to permanent housing