How to Configure an Overflow Add-on
Overflow add-ons sell extra seats beyond a suite's capacity (shipped recently — the mechanics are strict). The backend sanitizer silently discards misconfigured overflow add-ons, so a wrong config doesn't error — the add-on just never appears. This checklist prevents that.
Use this when: a team wants to offer "add N more seats" on a suite.
Where this happens: add-on configuration lives in the Cortex admin (the config plane —
it writes the same tbl_* tables the fan backend reads). The seat mapping in step 4 is data
setup; if you're doing this for the first time, confirm the current process with the team
before touching a live store.
The checklist (all required)
- Category —
addonCategory = 'overflow', withisForcedAddon = falseandisInformational = false. ⚠️ Forced + overflow is explicitly rejected (discarded with a WARN in the logs). - Scope —
addonLevel = 'suite_level', with bothsuiteIdandgameEventCodeset. Overflow is always per-suite, per-event. - Exactly one price option. The v1 contract is a single price for all overflow seats — multi-price is deferred.
- Map the physical seats in
tbl_suite_overflow_seat_mapping— one row per seat, keyed(suiteId, sectionName, rowName, seatNumber). This mapping is the inventory:- the seats are not in
tbl_seats; - every seat-count value (default / min / max) is clamped to the number of mapped rows;
- an empty mapping silently drops the add-on from the catalog — if the add-on isn't showing, check the mapping first.
- the seats are not in
- Keep mapped seats contiguous within each row. TM Host holds are sent as a min→max range per (section, row) — a gap in the middle means TM assigns seats in the gap instead of the ones you mapped.
How it behaves once live
- Fans see it as a normal optional add-on with a per-seat price.
- Holds use specific seats on both vendors (Host:
reserveTicketswithaccept_best_available: false; Archtics:seatsHoldSpecific) — a failed hold fails the item, it doesn't silently substitute seats.
Full matrix and enums: Add-on Types — Reference.