Protect a named seat pool.
Set aside exact sponsor or VIP seats, send a private link, and share a report for just those seats.
Hold seats for sponsors, give agencies their own access, run a member presale, and keep the box office and public sale on the same event. Each audience gets its own seats, prices and report, and a seat can never be sold twice.
A named group of seats inside one event, such as sponsors or a presale. It is not a copy of the event or a second seat map.
A channel can represent public sales, a sponsor, an agency, a member presale, a group coordinator, or box office. Each seat belongs to one channel at a time, and you decide who can buy from which channels.
Everyone sells from the same live seats, so once a seat sells, it cannot be sold again through another audience.
Choose the seats for each audience, then how they reach them: a private link through SeatLayer checkout, or through your own checkout with the SDK.
Set aside exact sponsor or VIP seats, send a private link, and share a report for just those seats.
Give a partner its own login to sell its seats, or send its buyers a private link. No copy of the event.
Let members into their seats before the public, with member prices only where they differ.
Staff sell at the counter while online buyers keep seeing live availability.
These five capabilities form one allocation workflow, not five disconnected feature flags.
Keep each seat in the event's only inventory and give it one current channel.
Override only the ticket prices that differ; otherwise inherit the base event price.
Use staff access, a trusted-server-created buyer session, or a redeemable link.
When a seat is booked, freeze the channel that produced the sale.
Assign a role and explicit permissions for distribution, returns, requests, and reporting, all on the partner's own account.
Knowing a channel id never grants access. The route must carry authorization that matches the buyer or operator job.
Use the left and right arrow keys to move across the comparison columns.
| Access method | Best for | What it can expose | Security boundary |
|---|---|---|---|
| Scoped buyer session | Signed-in buyers and integrated checkoutYour trusted server creates the browser session. | One or more allowed channels, with the exact buyer scope your application chooses. | Restrict by event, parent origin, allowed channels, and expiry. Keep account secrets server-side. |
| Hosted-access link | Sponsors, invited groups, and lightweight partner distributionAvailable on Hosted Ticketing events; no buyer account handoff is required. | One channel, optionally including public inventory, followed by SeatLayer checkout, Orders, tickets, and Door. | A bearer URL with expiry and redemption limits. Anyone holding a valid link can use it; rotate or revoke when needed. |
| Partner access | Recurring agencies, sponsors, schools, and resellersThe partner accepts with its own SeatLayer account; your channel appears as a context in its workspace switcher. | Only the assigned event and channel, plus organizer-enabled distribution, return, request, report, and CSV actions. | A membership checked on every request, with a Viewer, Coordinator, or Partner manager role. The organizer controls permissions, release date, and can revoke a person, the assignment, or the whole partner organisation. |
| Staff surface | Box office and event operationsAuthorized operators work inside a controlled surface. | The inventory and actions allowed by the staff session. | Use short-lived staff authorization and do not share an operator route as a buyer invitation. |
An agency, sponsor, school, or reseller works the allocation you assign, using its own SeatLayer account, inside a partner context that shows nothing else of yours.
| Role | Can |
|---|---|
| Viewer | See the assigned allocation, exact seats, attributed sales; export the CSV. |
| Coordinator | Viewer, plus the actions you enable: create and revoke buyer links inside your limits, return free seats against a reviewed version, request more inventory. |
| Partner manager | Coordinator, plus invite and remove teammates and change their roles. |
Move seats between audiences during a live sale. Seats already held or sold never move, and you see exactly what changed.
Confirm the current assignment version and the exact seats the audience will see.
If someone changed it since you looked, nothing moves and you are told.
Held or sold seats stay put, and you get a list of what moved and what was skipped.
applyAllocation({
channelId: "sponsor",
labels: ["A-10", "A-11", "A-12"],
assignmentVersion: 12
})
Example only; see the API reference for exact fields.
So a partner's sales report stays right even after you move their unsold seats elsewhere.
Use current allocation to operate the on-sale event and decide which audience may reach unsold inventory.
Attribution freezes the selling channel when the seat is booked, so later allocation changes do not rewrite the sale.
Why can sell-through exceed 100%? If a channel sold ten seats and its current allocation later shrinks to eight, attribution still records the ten real sales. That is expected, not a duplicate booking.
Recurring partner? Give it Partner access instead of sharing organizer credentials. Its context preserves the same one-channel reporting boundary and adds only the distribution, return, and request actions you explicitly enable.
Use them for the jobs on the left; the ones on the right need a different tool.
Fixed multi-performance seat selection is separately released as Performance Groups. Renewable 2–20-event Plans, incumbent Seat Rights, and renewal offers belong to the separate Fixed Renewable Seasons API. Neither product turns a channel into authorization or a resale listing.
Still have a question? or email hello@seatlayer.io.
Capability source: SeatLayer's sales-channel model, channel API, and reporting contract.
Start with one sponsor, partner, presale, or box-office lane. Verify its seats, price, buyer scope, allocation change, and report before you expand the model.