Dynamic Slot Logic
[!NOTE] Dynamic slot logic in EventSlot currently means automatic waitlist promotion after capacity increases.
What dynamic slot logic means here
Dynamic slots are computed from event counters and capacity updates instead of manual per-user seat assignment.
When organiser updates capacity upward, EventSlot automatically confirms eligible waitlisted attendees in FIFO order.
Mid-event capacity increase behavior
The capacity endpoint applies three checks before promotion:
- Request is authorised
- newCapacity is valid integer > 0
- newCapacity is greater than current capacity
If checks pass, promotion executes inside a transaction.
Promotion count formula
For increase-only updates, available promotion budget is:
promotions = min(addedSlots, currentWaitlistCount)Requested simplified expression:
newSlots = newCapacity - confirmedCountIn implementation, addedSlots is derived from old vs new capacity, then bounded by waitlistCount.
Example walkthrough
| Metric | Before | After update |
|---|---|---|
| capacity | 100 | 120 |
| confirmedCount | 100 | 120 (if enough waitlist entries) |
| waitlistCount | 35 | 15 |
| promoted | - | 20 |
Flow:
- Organiser changes capacity to 120
- System computes addedSlots = 20
- First 20 waitlisted rows are promoted
- Counters are updated atomically
- Promotion emails are attempted and diagnostics logged