A room-shaped availability check looks at a room id: is anything else booked into it on these nights, and is its status sellable? That answer is necessary and nowhere near sufficient.
The pooled question is different. A group block holds a count per room type per night — it owns no room id and no reservation row, deliberately, because capping a channel does not remove a room from the house but a block must. No room-shaped guard can see it, so a desk can cheerfully sell a room from a fully-held type and discover the problem when the group arrives.
Vestibel routes every sale path through one pooled guard, and the availability screen shows the grid it works from — per night, per type, with the reason a night is unsellable — rather than a bare refusal.
A tentative block deliberately holds nothing. It is a speculative enquiry a property can record a dozen of without taking a single room off sale, which means confirming one is a sale, not a formality: the rooms were never reserved, so confirmation re-checks that the house can still supply them.
