The No Orphan Seats & Mode Selection feature ensures optimal seat allocation by preventing isolated single seats, offering lenient or strict validation modes, and allowing category boundary adjustments, with implementation requiring coordination with your Account manger. More information on how to request a seating plan for your event in this article.
1. Orphan Seats Feature
The noOrphanSeats
selection validator ensures whether or not a selection leaves open single seats, also known as orphan seats.
selectionValidators: [ { type: 'noOrphanSeats' } ]
Not all single empty seats are necessarily considered orphan seats. A single empty seat is classified as an orphan if there is no alternative way to select the same number of seats without leaving it empty. This rule ensures that ticket buyers can still select seats, even when only a few grouped seats remain, typically towards the end of sales
For example, consider two rows, each with just three available seats left:
In this scenario, if a ticket buyer selects two adjacent seats, an empty seat will be left beside them. Since there is no alternative way to accommodate their seating preference without leaving a single seat vacant, the resulting empty seat is not classified as an orphan.
2. Orphan Seats Lenient mode
You can make the orphan seats validator less restrictive by passing in mode: 'lenient'
:
selectionValidators: [ { type: 'noOrphanSeats', mode: 'lenient' } ]
In lenient mode, single empty seats are not considered orphans if there's no other way than to leave an empty seat in the current "block". Meaning: in the current group of selectable seats that are next to each other:
3. Orphan Seats Strict mode
The default mode is 'strict'
:
4. Ignoring category boundaries
By default, orphan seat detection identifies potential orphans both at the ends of rows and within rows when adjacent seats belong to different categories. You can change this behavior by passing in ignoreCategories: true
; differences in seat categories won't trigger orphan seat detection anymore.
selectionValidators: [ { type: 'noOrphanSeats', ignoreCategories: true } ]
For instance, take a chart that looks like this without any selection:
With ignoreCategories: false
(i.e. the default), this selection will trigger an orphan seat:
However, with ignoreCategories: true
, the same selection will not trigger an orphan seat: