Capacity is enforced, not suggested. Buddy requests are in view, not in a binder.
Place campers in bunks with a click, honor buddy requests, and share live rosters by session and bunk.
Hard
capacity — over-assignment is impossible
Live
rosters your whole staff shares
1 click
to place, unplace, or move a camper
Buddy
requests surfaced while you assign
Bunks belong to a session and carry a capacity. Assign campers with a click; when a bunk is full, the next assignment is refused — at the seam, not as a warning you can ignore.
“Bunk with the Chens please” — shown on the unassigned row.
Every session's roster reads from the same enrollment records the office edits, with balance, status, and allergy flags on each row — and exports to CSV for the clipboard world camps run on.
Unassign or reassign in a click; removing a bunk returns its campers to unassigned.
Allergy flags travel with the camper onto the bunk board and every roster.
Rosters export to CSV, so the paper world still works.
The demo's July session has six bunks and a few campers left to place. Watch a full bunk refuse the seventh.