Seating Layouts
Create seat maps for flights, buses, and venues with zone pricing, per-seat rates, and assignments.
Seating layouts let you define seat maps for products that require assigned seating -- flights, buses, ferries, theaters, or any venue with numbered seats. You create a grid layout, configure individual seats with characteristics and pricing, and then assign passengers to specific seats when they book.
How it works
You create a layout by specifying the number of rows and columns. The system automatically generates a seat grid with labels (1A, 1B, 2A, 2B, etc.). You then customize individual seats -- marking some as window seats, aisle seats, blocked, or premium. You price seats by zone: group runs of rows into zones, give each zone its rates and a color, and override the rates on any seat that differs.
Key concepts
Layout properties
| Property | Description |
|---|---|
| Name | The layout name (e.g., "Boeing 757 Economy", "Tour Bus 40-Seat") |
| Description | Additional details about the layout |
| Total Rows | Number of rows in the layout |
| Total Columns | Number of columns (seats per row) |
Seat grid
When you create a layout, all seats are generated automatically. Each seat gets a label combining its row number and column letter (e.g., 1A, 1B, 12F). Seats are arranged in a grid that you can customize afterward.
Seat properties
Each seat has:
| Property | Description |
|---|---|
| Row Number | The row this seat is in |
| Column Label | The column letter (A, B, C, etc.) |
| Seat Label | The full seat identifier (e.g., "12A") |
| Available | Whether this seat can be booked |
| Characteristics | Special properties of this seat (see below) |
| Rate (Adult) | Price for adults, if this seat differs from its zone |
| Rate (Child) | Price for children, if this seat differs from its zone |
| Rate (Infant) | Price for infants, if this seat differs from its zone |
Seat characteristics
Seats can have one or more characteristics that describe their physical properties:
| Characteristic | Description |
|---|---|
| Window | Next to a window |
| Aisle | On the aisle |
| Middle | Between other seats |
| Exit Row | In an emergency exit row (extra legroom) |
| Bulkhead | Behind a cabin divider wall |
| Extra Legroom | More space than standard seats |
| Limited Recline | Seat recline is restricted |
| No Recline | Seat does not recline |
| Age Restricted | Passengers must meet age requirements |
| Wheelchair Accessible | Accessible for wheelchair users |
| Bassinet Capable | Can accommodate a bassinet attachment |
| Companion Seat | Reserved for companions of passengers needing assistance |
| Blocked | Seat is blocked and cannot be booked |
| Preferred Seat | Premium location seat |
Characteristics are flags, not categories. A single seat can combine multiple characteristics at once -- for example, a seat might be Window + Extra Legroom + Preferred Seat. Select as many as apply to accurately describe each seat's properties.
Zones
A zone is a run of consecutive rows that share a price and a color -- for example "Saga, rows 1–8" on an aircraft, or "Front, rows 1–4" on a bus. Instead of pricing every seat, you price the zone, and every seat in its rows takes the zone's rates and color.
| Property | Description |
|---|---|
| Name | Zone name (e.g., "Saga", "Economy", "Front") |
| Rows | The first and last row the zone covers |
| Rates | Adult, child, and infant prices for every seat in the zone |
| Colour | Color for the zone's band and seats on the seat map |
| Exit rows | Marks every row in the zone as an exit row |
A seat can override any of its zone's rates. Set only the rate that differs -- for example, a higher adult rate on a seat with extra legroom -- and the seat keeps the zone's other rates. A seat always shows its zone's color.
When you change a zone's rate, every seat in the zone that does not override that rate changes with it. This makes it easy to reprice a whole cabin at once.
Zones are optional. A row outside every zone uses its seats' own rates, and a rate left empty there is free. Those seats have no color on the seat map. A row can belong to only one zone.
When a layout is copied to a trip product, each seat's rates and color are resolved into flat per-seat values on the copy. Later changes to the master's zones do not affect trip products that already have a copy, unless you propagate them.
Seat assignments
When a customer books a product with a seating layout, their participants can be assigned to specific seats. Each assignment records the participant being assigned, the seat they are assigned to, the date (for multi-day products), and the rate charged.
Resizing a layout
If you change the number of rows or columns on a layout that already has seats, the existing seats are deleted and new ones are generated. This is a destructive operation -- any custom pricing, characteristics, or assignments on the existing seats are lost. You must explicitly confirm the regeneration.
Assigning layouts to trip products
Seating layouts defined here are master templates. They are not used directly on trips. Instead, when a trip product needs assigned seating, you copy a master layout onto that trip product. The copy resolves zone pricing into flat per-seat prices so the trip product has its own independent seat map. Changes to the master layout after copying do not affect trip products that already have a copy.
A trip product can have at most one seating layout at a time. You can remove the layout from the product (provided no seats are currently reserved by booking participants) and copy a different one.
Propagating changes to copies
After you edit a master layout, the copies that were already made from it do not update automatically -- they are independent snapshots. If you need to push corrections from the master onto existing copies, use the Propagate feature.
Propagation lets you selectively sync specific property groups from the master layout to its copies:
| Property group | What it syncs |
|---|---|
| Pricing | Adult, child, and infant rates, plus the zone color |
| Characteristics | Seat flags such as window, aisle, exit row, extra legroom, and others |
| Availability | Whether a seat is open for booking or blocked |
You choose which property groups to carry across and which copies to update. The system previews what will change before you commit, showing how many seats differ in each group for each copy.
Safety rules
- Reserved seats are protected. If a seat is currently reserved by a booking participant, the sync will not close it (mark it unavailable). Pricing and characteristics can still update on reserved seats, but availability changes that would strand a reservation are skipped and reported.
- Departed copies are excluded. Only copies for upcoming departures appear in the propagation panel. Past departures are not affected.
- Seat labels are never synced. Bookings store the seat label (e.g., "12A"), so renaming a seat on the master cannot propagate to a copy without breaking the link to existing reservations.
- Missing seats are reported. If the master has seats at positions that do not exist in a copy (because the copy's grid was resized independently), those positions are skipped and counted.
How to propagate
- Navigate to Data > Seating Layouts
- Open the action menu on the master layout you want to propagate
- Select Propagate
- The propagation panel opens, showing all upcoming copies of this layout with their drift counts
- Select the property groups you want to sync (Pricing, Characteristics, Availability)
- Select which copies to update
- Review the impact preview
- Click Propagate to push the changes
Seat selection mode
Each trip product with a seating layout has a seat selection mode that controls whether passengers must choose seats:
| Mode | Behavior |
|---|---|
| Optional | Passengers may choose a seat but are not required to |
| Required | Passengers must select a seat before the booking is confirmed |
| Hidden | The seat map is not shown to customers; seat assignments are managed internally by staff |
Seat blocking on trip products
Once a layout is copied to a trip product, you can block and unblock individual seats on that product without changing the master layout:
- Block -- Marks a seat as unavailable for booking. Blocked seats appear on the seat map but cannot be selected by customers. You can add a note explaining why the seat is blocked.
- Unblock -- Removes the block, making the seat available again.
Only seats that are not already reserved by a booking participant can be blocked. Reserved seats cannot be blocked; to change a reserved seat's status you must first release the reservation.
Common tasks
Creating a seating layout
- Navigate to Data > Seating Layouts
- Click Add
- Enter the layout Name and Description
- Set the Total Rows and Total Columns
- Click Save
- The seat grid is generated automatically
Pricing by zone
- Open the action menu on a layout and select Configure
- In the Zones list, click Add zone
- Enter the zone Name
- Set the Rows the zone covers
- Set the adult, child, and infant Rates
- Choose a Colour for the zone on the seat map
- Turn on Exit rows if every row in the zone is an exit row
- Repeat for each zone, then save your changes
Configuring seats
- Open the action menu on a layout and select Configure
- The seat configuration panel opens, showing the full seat grid
- Select seats to customize
- Set characteristics (window, aisle, exit row, etc.)
- Under Rate overrides, set any rate where the seat differs from its zone
- Mark seats as blocked if they should not be available for booking
- Save your changes
Bulk updating seats
You can update all seats for a layout at once. This is useful when you need to apply pricing changes across the entire layout or mark a block of seats with specific characteristics.
How it connects
- Trips -- Master layouts are copied onto trip products. Each trip product gets its own independent seat map with resolved pricing. You can propagate changes from the master to existing copies.
- Inventory -- Inventory products that require assigned seating (flights, buses, ferries) reference seating layouts. An inventory time slot reads its master layout directly rather than a copy, so changes to the master reach it at once.