Free vs paid tickets
Login

Free vs paid tickets

How free and paid tickets differ at checkout, in fees, and in booking state - and how zero-total orders behave.

The tickets list

Whether a ticket is free or paid changes the entire booking path: free bookings confirm synchronously, while paid bookings take a detour through the payment provider and only confirm on success. Understanding this is the key to reasoning about pending bookings, capacity, and when emails go out.

Side by side

Free ticketPaid ticket
Price0Greater than 0
Transaction feeNone5% of the ticket total
Payment providerNot requiredRequired (Paystack or Hubtel)
Booking state at checkoutConfirmed immediatelyCreated as pending, then sent to pay
Confirmation + QRSent immediatelySent once payment succeeds
Counts toward capacityYesYes - even while pending

The zero-total rule

What matters at checkout is the order total, not the ticket's nominal price. Any booking that totals 0 is treated as free and confirms instantly - no payment step. That happens for a genuinely free ticket, and when a promo code discounts a paid order down to zero (e.g. a 100% code).

Mixing free and paid

A single event can offer both. If an order contains any paid tickets and totals more than zero, it goes through payment as a whole; if the total lands at zero, it confirms instantly.

Pending paid bookings still reserve capacity so you don't oversell while a payment is in flight. They're released if the payment ultimately fails or is abandoned.