Capacity Management
Capacity Management
Capacity controls how many people can register or buy tickets for an event. Set it too low and you turn people away unnecessarily. Leave it unconfigured and you risk overselling a venue. Tickets Please gives you three capacity models so you can match the ticketing to the event.
Three Capacity Types
Individual Capacity
Each ticket type has its own independent capacity. A “General Admission” ticket with capacity 100 and a “VIP” ticket with capacity 20 operate separately. Selling out General Admission has no effect on VIP availability, and vice versa.
This is the simplest model and works well when your ticket types represent physically separate allocations (e.g., different seating sections, different time slots).
Configuration:
- Set
_ticket_capacityon each ticket to the maximum number for that type. - Set
_ticket_capacity_typetoindividual.
Shared (Global) Stock
All ticket types for an event draw from a single shared pool. If your venue holds 200 people and you sell General Admission, VIP, and Student tickets, those 200 seats are shared across all three types.
You can optionally set a per-type sell limit within the shared pool. For example, cap VIP at 30 even though the shared pool is 200. Once 30 VIP tickets sell, VIP shows as sold out, but General Admission and Student tickets continue selling until the shared pool is exhausted.
Configuration:
- Set
_tribe_event_shared_capacityon the event to the total capacity (e.g., 200). - Set
_ticket_capacity_typetosharedon each ticket. - Optionally set
_ticket_sell_up_toon individual tickets to cap a specific type within the shared pool.
Unlimited Capacity
No cap on registrations. The ticket never shows as sold out. Use this for virtual events, webinars, or any situation where there is no physical limit.
Configuration:
- Set
_ticket_capacityto-1.
How Stock Decreases
When does a ticket count as “taken”? Tickets Please supports two stock decrease modes, configurable under Events > Settings:
Pending — stock decreases as soon as someone adds the ticket to their cart (for paid tickets) or submits the RSVP form (for RSVPs). This is more conservative and prevents overselling when multiple people are checking out simultaneously, but it can temporarily hold stock for abandoned carts.
Completed — stock decreases only when the WooCommerce order is marked as completed (payment confirmed). This avoids tying up stock for unpaid orders, but carries a small risk of overselling if many people check out at the same time.
For RSVP tickets, stock always decreases on submission regardless of this setting, since there is no payment step.
Availability Methods
Tickets Please provides several methods for checking and managing capacity:
get_availability( $ticket_id ) — returns the number of tickets still available for purchase. For individual capacity, this is capacity - confirmed. For shared capacity, it considers the shared pool minus all confirmed attendees across ticket types, clamped by the per-type sell_up_to limit if set.
get_ticket_status() — returns a string indicating the current state:
| Status | Meaning |
|---|---|
available | Tickets can be purchased |
low_stock | Few tickets remain (threshold configurable) |
sold_out | No tickets available |
clamp_quantity() — takes a requested quantity and returns the maximum that can actually be fulfilled. If a visitor requests 5 tickets but only 3 remain, this returns 3.
get_event_capacity_summary( $event_id ) — returns a summary across all ticket types for an event: total capacity, total sold, total remaining. Useful for admin dashboards and reporting.
Frontend Display
On the event page, capacity information appears in the ticket section:
- Available tickets show the remaining count (e.g., “42 remaining”) unless capacity is unlimited.
- Low stock displays a visual indicator when availability drops below the configured threshold.
- Sold out replaces the Add to Cart or RSVP button with a “Sold Out” badge. The button is disabled.
The low-stock threshold is configurable. By default, tickets show as low stock when fewer than 10% of capacity remains.
Capacity and Cancellations
When an attendee’s status changes to cancelled or refunded, the capacity is released. The previously occupied slot becomes available again for new registrations or purchases. This happens automatically as part of the attendee status change.
Common Questions
Can I increase capacity after tickets are on sale? Yes. Edit the ticket or event and raise the capacity number. The change takes effect immediately. Previously sold tickets are not affected.
Can I decrease capacity below the number already sold? Yes, but the existing attendees are not removed. The ticket shows as sold out until cancellations bring the sold count below the new capacity.
How does shared capacity work with hidden tickets? Hidden tickets participate in the shared pool the same as public tickets. A hidden VIP ticket with shared capacity still draws from the event’s global stock.
Can I see a breakdown of capacity usage per ticket type? Yes. The event editor and the admin Attendees list both show per-ticket-type counts alongside the event total.
What happens to held stock from abandoned carts? If you use the “pending” stock decrease mode, WooCommerce’s held stock expiration setting controls how long stock is reserved. After the hold period expires (configurable in WooCommerce > Settings > Products > Inventory), the stock is released automatically.
Can I set a per-person ticket limit? Per-person limits are configured per ticket. For RSVP tickets, use the maximum-per-submission setting. For paid tickets, WooCommerce’s cart quantity limits apply.
Next Steps
- Ticket Types & Configuration — create and configure your ticket types
- RSVP System — how capacity works with free RSVP registrations
- Ticket Display on Event Pages — how capacity states appear to visitors