Event Configuration

Ticket Types & Configuration

Ticket schema, pricing options, availability rules, and advanced ticket features.

4 min readUpdated 2025-01-14

On BrightStar, a ticket type is not just a line describing your event — it's its own record, with its own name, description, price, cap, optional per-order maximum, and visibility flag. That separation matters more than it sounds like it should. If you're running a weekend retreat with early bird, general, supporter, and day-pass tiers side by side, you can pause the early bird the moment it's served its purpose, adjust the supporter cap, or pull a report on just the student tier — without touching anything else about the event. There's no limit on how many ticket types you create, so a kirtan night with a sliding-scale door price and a separate donation-only tier for volunteers is just as workable as a multi-day festival with a dozen passes.

The two limits, and what each one does

Quantity available is the total number of that ticket that can ever be sold. Once it's gone, the tier stops selling on its own — you don't have to catch it and pause it manually. Leave it uncapped and the tier keeps selling for as long as the event stays open, which is the right choice for something like a free meditation sit where you're not trying to ration seats.

Maximum per order is different: it caps how many one buyer can take in a single transaction. This is what stops one person from quietly buying up a whole discounted tier meant to be spread across many attendees. BrightStar only enforces this when you actually set a number on the tier — there's no hidden default, so an unset maximum means a buyer can take as many as remain.

Visibility lets you hide a tier from the public list entirely — useful for a comp allocation or a tier you're not ready to release. A hidden tier isn't just invisible; if someone tries to force it into a cart anyway, BrightStar refuses the request with a clear message rather than letting the purchase fail silently partway through.

How the cap is actually enforced

Picture a festival gate scenario: a limited early bird tier has one ticket left, and two people tap buy within the same second. BrightStar doesn't decide who wins by reading a sold-count and hoping it's current. Instead, adding a ticket to a cart triggers a database-level reservation that checks availability and holds the stock in the same atomic operation. That reservation — not the ticket counts you see displayed on the event page — is the authoritative answer to whether stock exists. Those displayed counts are a convenience for reading, not a gate for selling, precisely because a cached number can lag behind real activity for a moment. The practical effect is what you'd want at a real door: only one of the two simultaneous buyers gets the ticket, and the other sees it as sold out rather than completing a purchase for a seat that no longer exists.

Pricing models per tier

Each ticket type carries its own pricing model, so a single event can mix approaches. Fixed pricing is one price for everyone. Sliding scale lets the buyer choose an amount within a range you set — useful for events where you want flexibility but still need a floor to cover costs; an amount outside that range is rejected right at the cart rather than accepted and quietly corrected afterward. Pay what you can is the same idea with no floor at all, so a buyer can go all the way down to nothing. Donation only goes further still: entry is free, any amount added is treated as a donation, and leaving the field blank still gets the buyer in. This last distinction matters for something like a community kirtan where you want the door genuinely open regardless of what anyone can give that night.

Pausing sales

You can stop sales at two different levels, depending on what's actually happening. Pausing a single ticket type takes just that tier out of circulation — the rest of the event keeps selling normally. This is what you'd reach for when a price band like early bird has run its course, or you want to hold a block of seats back without shutting the whole event down. Pausing sales for the entire event is broader: it blocks every purchase at the cart with one message, useful if something about the event itself needs to be sorted out before anyone else buys in. Neither action touches what's already sold, and unpausing puts the tier — or the event — straight back on sale with nothing to reconstruct. BrightStar also closes the door on its own once an event's end time passes, refusing new cart additions from that point without you needing to remember to pause anything.

The maximum per order only does anything once you type a number into it. A tier left blank on that field isn't lightly restricted — it's fully open, and a single buyer can take the entire remaining allocation of that tier in one order. If you're building a tier specifically to ration access — a small supporter allocation, a limited day pass — set the per-order maximum on that tier deliberately rather than assuming a sensible default exists.

Common questions

How many ticket types can I create for one event?

BrightStar supports unlimited ticket types per event. Each type has its own pricing, availability window, visibility setting, and purchase limits, and you can control the order they appear in with the sort_order field or group them using ticket categories.

Read more

Each type is its own database row rather than a field on the event, which is what makes the count open-ended. The values themselves do have bounds: quantity is capped at 999,999 per type, and price is stored in cents with a constraint allowing either exactly zero or at least 50 cents, up to a ceiling of $100,000. The 50 cent floor is why a token price below that is rejected outright — a ticket is either genuinely free or priced at half a dollar or more.

Can I sell free, donation-based, or pay-what-you-can tickets?

Yes. BrightStar supports free tickets by setting the price to zero, which suits RSVPs and community events, and donation-based tickets where the buyer chooses any amount from $0 upward at checkout. Pay-what-you-can works as a suggested price with a $0 minimum, with guidance written into the ticket description. You can also run a tiered or sliding scale by creating several ticket types at different prices for the same access level.

Read more

The fee side follows the price automatically. When the platform fee is calculated, any ticket line priced at zero is skipped entirely, so a free ticket carries neither the percentage nor the per-ticket flat amount, and an order whose payable total comes to zero skips payment processing rather than sending a zero-value charge. That holds regardless of the plan the event is on. For donation and sliding-scale setups the practical effect is that the fee tracks whatever each buyer actually chose to pay, ticket by ticket.

How do I create a hidden or VIP-only ticket?

BrightStar tickets have three visibility settings: public, hidden, and members. A hidden ticket does not appear on the event page and is only reachable through a direct URL, which you generate under Settings, Hidden Ticket Link, and it is commonly used for VIP invites, comps, and special offers. Members-only tickets are visible only to logged-in members and require membership system integration.

Read more

Underneath, visibility is a boolean on each ticket row, and the public events API filters its ticket list to rows marked public before the page renders at all. A non-public ticket is not fetched and then hidden in the browser; it is simply never returned. The same flag does other work in the system: add-ons and accommodation room tickets are stored as non-public rows so they stay out of the main ticket list and are surfaced by their own parts of the checkout instead.

Can I control how many tickets one person buys in a single order?

Yes. Each BrightStar ticket type has min_per_order, which defaults to 1, and max_per_order, which defaults to 10. Setting min_per_order above 1 is useful for couples tickets or group experiences, because it makes buyers purchase the right quantity for the experience.

Read more

There is a second ceiling above the per-ticket one. The event row itself carries a maximum tickets per transaction value, defaulting to 10, which applies across the whole order rather than to a single type, so a buyer cannot get around a per-type limit by spreading the order across several types. Use the per-type maximum for the constraint that belongs to one particular ticket, and the event-level maximum for the constraint you want on the order as a whole.

How long are tickets held in someone's cart before they are released?

BrightStar reserves tickets in a cart for 5 minutes. Availability is computed in real time from quantity_total minus tickets currently reserved in carts and tickets already sold, so the remaining count on the event page stays accurate.

Read more

The hold is a real inventory row, not a countdown running in the browser. Adding to the cart calls a database function that reserves the quantity in the same operation, keyed by an idempotency string built from the cart, the event and the ticket type, so a double tap on Add does not create two reservations. If the reservation cannot be satisfied the item is not added at all, and the error carries the number actually remaining rather than letting someone reach payment on tickets that are already gone.

Can I schedule when a ticket type goes on sale and stops selling?

Yes. Each BrightStar ticket type has sale_start and sale_end dates, and the ticket is only purchasable within that window. Those times are displayed to buyers in the event's timezone.

Read more

Because the window is set per ticket type rather than per event, you can stagger tiers on the same event — an early-bird type with its own sale_end closing while a general type's sale_start hasn't opened yet, or the reverse. Once sale_end passes, the ticket stops being purchasable even if quantity_available is still above zero, and before sale_start it isn't purchasable no matter how much inventory sits unsold.

How many ticket types can I create on BrightStar?

There is no cap on the number of ticket types. Each type on BrightStar is its own record with its own name, description, price, quantity, and per-order maximum, so you can run early bird, general, supporter, student and pass tiers side by side on one event.

Read more

Because each tier is stored independently rather than as part of the event description, you can act on one without disturbing the others: pause a single tier, change its cap, or pull sales reporting for it alone. Each tier also carries its own display order, so the list your buyers see is arranged the way you want rather than in the order you happened to create them.

How do I limit how many tickets one person can buy?

Set a maximum per order on the ticket type. BrightStar checks it when a buyer adds that ticket to their cart and refuses the request with a message naming your limit. Important: the cap only applies if you set a number — there is no default maximum.

Read more

The absence of a default is deliberate, so BrightStar never quietly restricts a sale you wanted to allow. The consequence is that a tier you meant to ration will not ration itself. If you are running a limited allocation, set the per-order maximum explicitly on that tier. It is separate from the total quantity available: the maximum per order governs one transaction, while the quantity available governs the tier's whole lifetime.

Can two people buy the last ticket at the same time on BrightStar?

No. When a buyer adds a ticket to their cart, BrightStar performs an atomic database-level reservation that checks availability and holds the stock in the same operation. Only one of two simultaneous buyers can win that reservation, so the tier cannot oversell.

Read more

This is why BrightStar does not rely on the sold counts stored alongside the event for blocking a sale — those counts can drift after abandoned carts or test purchases, and treating them as authoritative would either oversell or wrongly refuse a real buyer. The reservation call is the single source of truth on availability, and a held ticket returns to the pool automatically when the buyer's hold lapses without a completed purchase.

Can I offer sliding scale or pay-what-you-can pricing?

Yes. Alongside fixed pricing, BrightStar supports sliding scale, where the buyer chooses within a range you set; pay what you can, which is a sliding scale with no floor; and donation only, where entry is free and any amount the buyer adds is a donation.

Read more

The range is enforced at the cart rather than trusted from the buyer's browser, so an amount below your floor or above your ceiling is refused with a message that states the limit, instead of being silently adjusted after the fact. Donation only behaves differently from the others in one important way: leaving the amount blank is valid and the buyer still gets in at no cost, because the donation is genuinely optional rather than a minimum in disguise.

How do I temporarily stop selling one ticket type?

Pause that ticket type. On BrightStar a paused or hidden tier stops appearing in the public ticket list and is refused at the cart with a clear message, while every other tier on the event keeps selling normally. Unpausing puts it straight back on sale.

Read more

There is a second, wider control: pausing sales for the entire event, which blocks every purchase at the cart with a single message regardless of tier. Neither action is destructive — tickets already sold are untouched and no data is removed. BrightStar also stops accepting new cart additions once the event's end time has passed, so a finished event closes itself without you having to remember.

What happens when a ticket type sells out?

Once the quantity available for a ticket type is exhausted, BrightStar stops it selling and buyers can no longer add it to a cart. Other tiers on the same event are unaffected and keep selling.

Read more

If you deliberately leave a tier's quantity uncapped, it never sells out and keeps selling until you pause it or the event ends. Selling out is not permanent either: raising the quantity available on the tier brings it straight back into circulation, because availability is calculated from the cap against real sales at the moment of the request rather than from a stored sold-out flag.

Ready to get started?

Create your first event on EveryEvent Bangkok — it’s free.