How to set up seating
Last updated: September 16, 2022
Note: If you have any questions about this process or want to get an opinion on best practices, we recommend posting in the #seating-assignment Slack channel.
Setting up seating assignment for a company is a multi-step process. Be sure to follow the steps below in order to ensure that no steps get missed!
1. Enable feature and permissions
Enable the “Seating assignment” feature in advanced company settings.
Note: Only FareHarbor Admins can enable this feature.

Ensure that the correct permission groups have the “Manage seat maps” permission (located under Setup).
By default, any user with “Create and edit resources” will have permission to manage seat maps.

In order to manage seat assignments, permission groups will also need to have the “Edit or remove individual resource uses” permission (located under Bookings & Payments > Advanced).

Notes on seating permissions
- To assign or change customers’ seats, a user must have the permission “Edit or remove individual resource uses”. This applies to all places where seat assignments can be managed: the direct book form, booking overlay, and manifest.
- If a user does not have the above permission, they can still view seat maps and seat assignments, but cannot change them. That means when they create a booking, seats will either be auto-assigned or unassigned based on the resource’s settings.
- All users by default can overbook seats (e.g. create a booking that uses more than the number of available seats), and will be warned whenever there are not enough seats available for the entire party on the booking.
- Users with the permission “Update only future bookings” will only be able to update seat assignments for bookings in the future (past bookings cannot be updated).
2. Create seat map(s)
Create seat maps using the seat map builder. Be sure to review the section “Before getting started” for up-to-date best practices!
Note: The above link is available to all clients in the Help Center, but in most cases, we assume FH Admins will be the primary users building seat maps from scratch.
3. Set up resource(s)
In general, there should be a 1:1 ratio between resources and seat maps. Because seat maps themselves can be further broken down into zones and groups, there is usually no need to create separate resources for different areas of a venue or vessel, unless you need different capacity or auto-assignment rules for each area. The fewer resources there are, the fewer times FareHarbor has to check for capacity, and the faster the book form will load.
Go to Items > Shared resources and create a new resource.
The resource name will only be used for your internal purposes and will not be displayed in emails, tickets, and receipts to end customers.
Examples: “Seat(s)”, “Car 310 Private Dining”, “General Admission”
Set the resource’s max uses to the number of bookable seats.
Note: Setting max uses is required in order to ensure capacity is displayed correctly in online calendars and in the Dashboard.
Select which seat map users should be able to book into when the resource is used.
Choose whether seats should be auto-assigned when a customer uses the resource (by default, seats will not be auto-assigned).
If auto-assignment is disabled, online calendars and customer type dropdowns will not be able to take seat map capacity, zones, or exclusive groups into account. Whenever possible, especially when dealing with a more complex setup, auto-assignment should be enabled. If it’s not, make sure that resource max uses are always set to ensure users can never overbook seats.
Choose which zones should be available when setting up resource requirements. Any zone that will never be bookable (labels, objects, etc.) should not be selected.
4. Set up resource requirements
Note: If you anticipate using the same resource requirements across different items, we highly recommend using company-level resource requirements. In particular, if you’re building a train setup where individual train cars have their own seat maps/resources, read through the sections below AND the next section titled “Resource requirements for train setups” to ensure an optimal setup.
Important notes about seating requirements
- The use count for a seatable resource (a resource that is attached to a seat map) must be a whole number from 1 to 50.
- Seat assignment is not supported for whole booking resource requirements. If a booking is made that uses a seatable resource at the whole-booking level, the resource will be used but the party will never get assigned a seat, even if auto-assignment is on.
Resource requirements for non-train setups
Follow the usual steps for setting up resource requirements, using the resource you created in Step 3, then update the following seating-related settings as needed:
- Assign seats together across requirements: This option is located in the top-level resource requirement group settings (click on the requirement group name to edit it). Enable this setting if there are customer types split into separate requirements (for example, Family Passes that require 4 seats and Additional Customers that require 1 seat) and the company wants these customer types to be seated together. Otherwise, customer types in separate requirements will be seated separately.
Note: The following four options are all located in the requirement option settings, under the Seating tab.
Zones: This section is located in the requirement option settings, under the Seating tab. Select which zone(s) the customer type can be booked into. For example, “First Class” can only book into the “First Class” zone.
Don’t allow split parties across seat groups: By default, customers in a booking can be split across groups (like tables or rows). If this box is checked, seats will be assigned in the first available group on the seat map that can fit the entire party. Customers booking online will never be able to book a party greater than the maximum number of seats in the largest group.
- If the company’s seat map does not have groups or if seats will not be auto-assigned, then no changes need to be made to this setting.
Make seat groups exclusive: By default, multiple parties can be booked into the same group. When this box is checked, as soon as any seats in a group are filled, that group is considered closed and no other parties will be able to book there.
- If the company’s seat map does not have groups or if seats will not be auto-assigned, then no changes need to be made to this setting.
Fill all seats once booked: When this box is checked and the related customer type(s) is booked, all other seats on the map will become unavailable. This is useful for venue buyouts or private charters.
Resource requirements for train setups
If you’re building a train setup where train cars will regularly be reordered, enable Company-level resource requirements in advanced company settings and set up requirements at the company level (in Dashboard settings). This will make it easier to make changes at a higher level instead of having to keep track of resource setups in individual item’s settings.
To set up resource requirements for trains, follow the usual steps for setting up a resource cascade. To make sure train cars appear in the right order when they are displayed, you’ll want to set up a requirement group similar to the one below:

Create a “dummy” customer type that will never be added to any availabilities, make it the first requirement in the requirement group, and create a cascade setup with all the train cars in the desired order. The way the logic is written for determining how to display seat maps always takes this first requirement into account. It also means that you shouldn’t be adding seat map resources that the company DOESN’T want their users or customers to see.
Then, create requirements for the normal/bookable customer types as needed (order of all other CTs doesn’t matter). This lets you add, remove, or reorder train cars, in the cascade at the top of the requirement group, and the new train configuration will be automatically reflected wherever seat maps are displayed.
Reminder: The order of customer types on the book form will be determined by the order they appear in the company’s settings, so you can always reorder them under Settings > Customer Types if needed.
5. Add requirements to availabilities
Follow the usual steps for adding requirements to one or more availabilities.
6. Configure item settings
Online booking and customer communication options can be set per item by going to the Seating Assignment section of the item’s settings.
See the client-facing page for more details on each option.
Online seat selection settings: best practices
Certain online seat selection flows work better for specific types of setups. To ensure the best experience for online customers and to optimize conversions, review the best practices below.
Change seats view (first checkbox) works best for:
- Multi-day rentals
- Setups where each customer requires more than one seatable resource
- Example: each customer requires a fishing spot and bunk
- Setups where resource/customer type/availability capacity is less than the number of seats on the map
- Example: COVID or social distancing setups
- Setups involving seatable requirements for multiple time ranges
- Example: customers must choose seats for both their out and back trip on the same availability
- Setups with customer type openers
- Companies in Australia using the two column book form
- Setups where it’s important for all customer types to be visible at the start of booking
- Example: if it’s important to display all available prices/rates to the customer in one place
- Example: if certain customer types (like infants) do not require seats
- Setups that include buyouts
Choose directly from map (second checkbox) works best for:
- Events or activities with a single seat map and one time per day
- Companies that want to upsell premium seats on the map
- Companies that want to prioritize customers choosing from the map
Show dropdowns in addition to seat map (third checkbox) works best for:
- Setups where certain customer types don’t require seats (e.g. infants) but the company still wants to prioritize choosing from the map
7. Optional: Add seating information to Boca tickets
To add seating information to individual customers’ tickets, edit the company’s Boca ticket layout settings.
Go to Settings > Boca Tickets.
Don’t see this option? Make sure “Boca tickets” and “Boca ticket customization” are enabled in advanced company settings. Learn more
Select the ticket layout you want to update.
Edit the following settings as needed:
- Include seating information on ticket body
- Include seating information on ticket stub
Save changes.
Below is an example of a Boca ticket that includes seating information on both the ticket body and stub:

8. Set up custom manifest
As a last (optional) step, set up a custom manifest for users to quickly view and edit seating assignments. As a best practice, this manifest should be filtered to only availabilities or items that require seating.

If needed, use filters to only show availabilities/items requiring seating.
Add or remove columns for Seating Zone, Seating Group, and Seats.
These three columns will be added by default, but if they’re not all needed (for example, if the zone or group name will always be the same), you can adjust accordingly.
Optional: Add or remove filters for Seating Zone, Seating Group, and Seats.
Add columns for any necessary custom fields.
For example, if the company has a “seating preferences” field on the book form, it should be added to the seating manifest.
If the company wants to be able to view seat maps or block off seats for availabilities that don’t have bookings yet, you may want to also enable “Include empty availabilities” under display options.
Save the custom manifest.
If needed, update user preferences to use the newly created custom manifest as the default. Learn more
Note: When seating is enabled for a company, all manifests will include the Seating Zone, Seating Group, and Seats columns by default. You may want to edit existing custom manifests to not include these columns, if they’re not necessary.
Additional resources and training videos
All of the client-facing documentation about seating is available in the client-facing seating section.