Skip to content

Ticket Types & Configuration

Ticket Types & Configuration

Every event needs a way for people to register or buy in. Tickets Please gives you two ticket types: RSVP tickets for free events where you just need a headcount, and Paid tickets that route through WooCommerce checkout for events that charge admission. Both types share the same configuration fields and capacity system.

RSVP vs. Paid Tickets

The ticket type determines the registration flow visitors experience.

RSVP tickets are free. When a visitor registers, an inline form appears on the event page. No cart, no checkout, no payment. The visitor enters their name and email, submits, and receives a confirmation. Use RSVP tickets for free community events, volunteer sign-ups, open houses, and any event where you need to track attendance without collecting payment.

Paid tickets have a price and use WooCommerce for checkout. When a visitor clicks Add to Cart, the ticket is added to their WooCommerce cart. They proceed through standard WooCommerce checkout with whatever payment gateways you have configured. Attendee records are created when the order is completed. Use paid tickets for concerts, classes, fundraisers, and any ticketed event.

The ticket type is determined by the price. A ticket with a price of 0 (or blank) behaves as an RSVP ticket. Any price greater than zero creates a paid ticket.

Creating a Ticket

  1. Go to Events > Tickets > Add New in the WordPress admin.
  2. Enter a ticket name (required). This is what visitors see on the event page.
  3. Fill in the configuration fields described below.
  4. In the Event dropdown, select the event this ticket belongs to. Each ticket links to exactly one event.
  5. Click Publish.

You can also create tickets directly from the event editor. The Tickets meta box at the bottom of the event edit screen lets you add and manage tickets without navigating away.

Ticket Fields

FieldMeta KeyRequiredDescription
NamePost titleYesThe ticket name displayed to visitors
Description_ticket_descriptionNoLonger text about what the ticket includes
Show Description_ticket_show_descriptionNoToggle to display or hide the description on the event page
Price_ticket_priceNoTicket price. Blank or 0 makes it an RSVP ticket
Sale Price_ticket_sale_priceNoDiscounted price. Leave blank for no sale
Sale Start DateSale start metaNoWhen the sale price takes effect
Sale End DateSale end metaNoWhen the sale price expires
Capacity_ticket_capacityNoMaximum number of attendees. Set to -1 for unlimited
SKU_ticket_skuNoStock keeping unit. Auto-generated as TP-{TICKET_ID}-{HEX} if left blank
Visibility_tec_ticket_visibilityNopublic (default) or hidden
Access Token_tec_ticket_access_tokenNoAuto-generated token for hidden ticket URLs

Pricing and Sale Prices

Set the Price field to the regular ticket price. If you want to run a temporary discount, fill in the Sale Price along with the Sale Start Date and Sale End Date.

During the sale window, the event page shows the sale price with the original price displayed as a strikethrough. Outside the sale window, the regular price applies automatically. The is_on_sale() method checks both the sale price value and the date window to determine whether the discount is active.

If you leave the sale price blank, no sale runs regardless of the date fields.

SKU Generation

Every ticket gets a SKU. If you provide one manually (for integration with inventory systems or reporting tools), Tickets Please uses it as-is. If you leave the SKU field blank, the plugin auto-generates one in the format TP-{TICKET_ID}-{RANDOM_HEX} when the ticket is published.

SKUs appear in WooCommerce orders, CSV exports, and attendee records. They are useful for reconciling ticket sales across systems.

Visibility

By default, tickets are public and appear on the event page for everyone. Set visibility to hidden to remove the ticket from the public listing. Hidden tickets are only accessible via a private URL that includes the ticket’s access token.

The access token is auto-generated when you set a ticket to hidden and is displayed as a read-only field on the ticket edit screen. See Hidden Tickets for the full details on how private ticket URLs work.

Linking Tickets to Events

Each ticket is linked to one event through the _ticket_event_id meta field. You set this when creating the ticket by choosing an event from the dropdown. An event can have multiple tickets (e.g., General Admission, VIP, Early Bird), but each ticket belongs to a single event.

To move a ticket to a different event, edit the ticket and change the event selection. Existing attendees remain linked to the ticket regardless of which event it points to.

Common Questions

Can I create tickets for pages or posts, not just events? Currently, tickets can only be attached to events. Support for other post types is planned for a future release.

Can I have both RSVP and paid tickets on the same event? Yes. Add multiple tickets to the event with different prices. A ticket priced at 0 renders as an RSVP form, and tickets with a price route through WooCommerce. Both appear in the ticket section on the event page.

How do I delete a ticket? Move the ticket to the Trash from the tickets list or the ticket editor. Trashing a ticket does not delete attendees already registered for it.

Can I change a ticket’s price after people have bought it? Yes. The price change applies to future purchases only. Existing orders and attendees are not affected.

What is the difference between Description and Show Description? The Description field stores the text. The Show Description toggle controls whether that text appears on the event page. This lets you write a description for admin reference without displaying it publicly.

How do I create a free paid-style ticket (no RSVP form)? Set the price to 0 with WooCommerce active. Tickets Please treats zero-price tickets as RSVPs with the inline form. If you need a cart-based flow for a free ticket, set the price to 0.01 or use a WooCommerce coupon for 100% off.

Next Steps

  • Capacity Management — understand individual, shared, and unlimited capacity
  • RSVP System — details on the RSVP registration form and submission flow
  • Hidden Tickets — set up invite-only or pre-sale tickets with private URLs