Documentation Index
Fetch the complete documentation index at: https://docs.fanfare.io/llms.txt
Use this file to discover all available pages before exploring further.
Queue Distribution
A Queue is a first-come, first-served waiting line that manages high demand by giving access to consumers in the order they joined. Queues are ideal for product launches where fairness means “first in line gets access first.”
How Queues Work
When consumers join a queue, they’re assigned a position and wait for their turn:
┌────────────────────────────────────────────────────────────────────┐
│ THE QUEUE FLOW │
├────────────────────────────────────────────────────────────────────┤
│ │
│ Consumers join and wait in line │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────┐ │
│ │ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ │ ● │ │ │
│ │ Back of queue │Front│ → Checkout access │
│ └──────────────────────────────────────────┘ │
│ │ │ │
│ │ │ │
│ New consumers Consumers get │
│ join here access at your │
│ configured rate │
│ │ │
│ ▼ │
│ Complete purchase │
│ (time-limited window) │
│ │
└────────────────────────────────────────────────────────────────────┘
The Consumer Experience
- Join — Consumer enters the queue and receives a position number
- Wait — Position updates in real time as the line moves forward
- Get access — When they reach the front, they’re notified they can checkout
- Complete purchase — Limited time window to finish their purchase
Consumer Journey
┌─────────────────────────────────────────────────────────────────┐
│ QUEUE CONSUMER JOURNEY │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ │
│ │ Not in Line │ │
│ └──────┬──────┘ │
│ │ Join queue │
│ ▼ │
│ ┌─────────────┐ │
│ │ In Queue │ (watching position) │
│ └──────┬──────┘ │
│ │ Reach the front │
│ ▼ │
│ ┌─────────────┐ │
│ │ Access │ (checkout available) │
│ │ Granted │ │
│ └──────┬──────┘ │
│ │ Complete purchase │
│ ▼ │
│ ┌─────────────┐ │
│ │ Complete │ │
│ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
When to Use Queues
| Scenario | Why Queue Works |
|---|
| Product launches | First in line gets access first |
| Event ticketing | Orderly flow prevents site overload |
| Flash sales | Manages traffic while rewarding early arrivers |
| Limited inventory | Ensures fair, ordered access to scarce items |
| High-demand drops | Prevents site crashes by throttling access |
Configuration Options
Admission Rate
How many consumers per minute receive access to checkout.
| Rate | Result |
|---|
| 50/minute | About 1 consumer per second gets access |
| 100/minute | About 1.7 consumers per second |
| 200/minute | About 3.3 consumers per second |
Tips for setting admission rate:
- Match your checkout system’s capacity
- Too high = checkout overwhelmed
- Too low = unnecessary waiting
Queue Capacity
Maximum consumers allowed in the queue at once.
- Set a limit when you want to manage server load or set expectations
- Leave unlimited when you want to accept everyone and let them wait
Total Admissions
Maximum total consumers who can receive access.
- Set a limit when inventory is fixed (e.g., 500 items available)
- Leave unlimited when you want continuous access until closing time
Access Window Duration
How long consumers have to complete checkout after receiving access.
| Duration | Best for |
|---|
| 5-10 minutes | Simple purchases, saved payment methods |
| 15-20 minutes | Multiple items, entering payment details |
| 30 minutes | Complex purchases, high-value items |
What Consumers See
While Waiting
- Their current position in line
- Estimated wait time
- Real-time updates as the line moves
When It’s Their Turn
- Notification that they can proceed
- Time remaining to complete purchase
- Clear call-to-action to checkout
If They Take Too Long
- Warning as time runs low
- Notification when access expires
- Option to rejoin (if the queue is still open)
Configuration Examples
Product Launch
High-demand sneaker drop with limited inventory:
Queue Settings:
├── Admission rate: 100/minute
├── Total admissions: 500 (matches inventory)
├── Access window: 10 minutes
└── Allow guests: Yes
Event Ticketing
Concert tickets going on sale:
Queue Settings:
├── Admission rate: 200/minute (handle high volume)
├── Queue capacity: 50,000 (manage expectations)
├── Access window: 15 minutes (time to select seats)
└── Allow guests: No (need account for tickets)
Flash Sale
Time-limited sale with steady access:
Queue Settings:
├── Open time: 9:00 AM
├── Close time: 12:00 PM
├── Admission rate: 50/minute
├── Total admissions: Unlimited
└── Access window: 5 minutes
Why Consumers Might Not Get In
| Reason | What Happened | Consumer Message |
|---|
| Queue full | Queue reached capacity | ”Queue is at capacity. Try again later.” |
| Queue closed | Outside open hours | ”This queue is currently closed.” |
| Already purchased | Hit their order limit | ”You’ve already purchased the maximum allowed.” |
| Access expired | Took too long at checkout | ”Your checkout window has expired.” |
Best Practices
1. Set the Right Admission Rate
Match your checkout capacity. If your checkout can handle 2 purchases per second, an admission rate of 100/minute leaves headroom for abandoned carts.
Balance urgency with fairness:
- Too short = frustrated consumers who can’t complete in time
- Too long = people holding spots they won’t use
3. Communicate Clearly
Show consumers:
- Their position and estimated wait
- What happens when it’s their turn
- How long they’ll have to complete
4. Handle Capacity Gracefully
When the queue fills up:
- Show a clear message about capacity
- Offer a waitlist as an alternative
- Give expected reopening times
Common Patterns
Rolling Queue
Continuously accepts and admits consumers over a longer period:
- Open for an extended time (days or weeks)
- Steady admission rate
- No total admission limit
- Limited queue capacity to manage expectations
Burst Queue
Handles launch-day spikes:
- Short open window (30 minutes to a few hours)
- Higher admission rate
- Set total admissions to match inventory
- Unlimited queue capacity to accept everyone
Recycling Expired Spots
When consumers don’t complete checkout:
- Their spot can be recycled
- Next person in line gets access sooner
- Helps ensure all inventory sells