Skip to content

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_capacity on each ticket to the maximum number for that type.
  • Set _ticket_capacity_type to individual.

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_capacity on the event to the total capacity (e.g., 200).
  • Set _ticket_capacity_type to shared on each ticket.
  • Optionally set _ticket_sell_up_to on 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_capacity to -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:

StatusMeaning
availableTickets can be purchased
low_stockFew tickets remain (threshold configurable)
sold_outNo 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