Do not use these versions of FooEvents, FooEvents Seating, or FooEvents Bookings on a live site or for a live event. Only use the beta versions for testing on a staging or test site.

We’ve completed development on the new FooEvents Seating Version 2 and need your help testing it. Please configure and test FooEvents Seating Version 2 Beta on a staging or test site only.
Please thoroughly test the full seating workflow, including building seating charts, configuring and managing seating for a product, selecting and reserving seats, purchasing tickets, and managing orders. Let us know if you encounter any issues or feel anything is missing.
Download and install the following beta plugins to test the new FooEvents Seating experience:
- FooEvents (Version 2.0.16-seating-beta.4)
- FooEvents Asientos (Version 2.0.2-seating-beta.4)
- FooEvents Reservas (Version 2.0.16-seating-beta.4)
- For any other FooEvents extensions, you can use the latest available versions. Ignore plugin update messages.
Thanks again for helping us test and improve the new FooEvents Seating.
Introducción
FooEvents Seating has been rebuilt from the ground up to deliver a more flexible, reliable, and powerful seating experience, shaped by years of customer feedback and real-world event requirements.
The new seating system gives you the freedom to create virtually any seating arrangement without the limitations of traditional row-based layouts. Instead of building a seating setup from scratch for every event, you can create highly customizable, reusable seating chart templates and apply them across multiple events, venues, dates, and time slots.
At the core of the new system is a completely redesigned reservation engine that validates seat availability and reservation ownership throughout the cart and checkout process to help prevent double bookings, incorrect assignments, and unexpected releases. It has also been optimized for mobile, making it easier for customers to select seats on any device.
The new FooEvents Seating Version 2 is fully integrated with FooEvents Reservas, allowing you to set up an event once and use the same seating chart across multiple bookable dates and time slots. Each date and time slot can be managed separately, including its own bookings, seat allocations, and seat selections.
The system also includes change histories for seating chart templates and product-level seating changes, including manual releases and variation mappings. These logs are exportable, making them useful for troubleshooting, support, and reviewing seating-related admin activity.
This is not just an evolution of FooEvents Seating. It is a major step forward in our pursuit of the most flexible, reliable, and sophisticated event seating and booking system available for WordPress.
Primeros pasos
Paso 1: Activar la nueva experiencia de asiento
- Ir a FooEvents > Ajustes.
- Abra el Asientos ficha.
- Activar Habilitar asientos (Enable the new FooEvents Seating Version 2 (Beta)).
- Guardar tu configuración.
Una vez activada esta opción, aparecerá un nuevo icono Asientos settings tab marked V2 Beta. FooEvents also creates a published Sample Seating Chart the first time Version 2 is enabled, provided that sample chart does not already exist.

Algunas cosas importantes que hay que saber:
- The new seating system is currently optional while it is in beta, and is disabled by default.
- Encenderlo hace no cambiar automáticamente sus productos de asiento heredados existentes.
Paso 2: Configurar los asientos globales

Ir a FooEvents > Ajustes > Seating (V2 Beta) y revisa las opciones disponibles.
Retención de reserva (minutos)
This controls how long selected seats remain reserved in the cart before they are released. The default is 15 minutes. A shorter hold time can help with faster seat turnover during busy sales periods, while a longer hold time gives customers more time to complete checkout. The cart displays the approximate reservation time remaining for each selection.
Disponer de asientos en función del estado del pedido
This controls when booked seats should be released automatically after an order status changes. The default and recommended option is Never make seats available automatically, which lets you release seats manually. You can opt to release seats when an order becomes Cancelado o Fallido, but use these options with care. In particular, do not use Fallido if customers can return and pay failed orders later, as the released seats could be booked by somebody else.
Desactivar Legacy Seating
Esto desactiva el antiguo sistema de asientos V1 y oculta el legado Asientos Tipo de evento. Active esta opción sólo cuando esté seguro de que ya no necesita la configuración de asientos anterior.
Paso 3: Planificar la migración
If you still have active events using legacy seating, it is best to leave legacy seating enabled until those events have been fully moved over.
It is not possible to convert an existing event with live seating sales from legacy seating to the new seating system. We recommend using the new seating only for events where ticket sales have not yet started, and gradually phasing out legacy seating usage.
Once you have finished migrating, you can enable Desactivar Legacy Seating para mantener las cosas más limpias y reducir la confusión de su equipo.
Creación de plantillas de distribución de asientos
Templates are the foundation of the new seating system.
Instead of rebuilding the same layout for every event, you can create one chart and reuse it wherever needed, including bookable events. This saves time and helps keep your venue layout consistent across performances, dates, and products.
Dónde gestionar las plantillas
Ir a FooEvents > Tabla de asientos. Templates are saved as Seating Charts.
Cómo crear una plantilla

- Ir a FooEvents > Tabla de asientos.
- Haga clic en Añadir nuevo mapa de asientos.
- Haga clic en Lanzamiento del Seating Chart Builder.
- Construye tu diseño y, a continuación, guárdalo o publícalo.
Qué puedes añadir en el constructor

El generador de planos de asientos admite una serie de elementos de diseño, entre los que se incluyen:
- Asientos sections with configurable rows, seats, numbering, chair styles, spacing, colors, and curved-row controls.
- De pie sections with a capacity and a rectangle, circle, or polygon shape.
- Cuadro layouts with square or circular tables, configurable chair counts, and different chair styles.
- Formas such as squares, circles, polygons, and straight or curved lines for structure and visual guidance.
- Texto etiquetas para facilitar la orientación y la denominación de las secciones.
- Iconos para entradas, salidas, puntos de accesibilidad, aseos, etc.
- Controles del lienzo for adjusting selection colors, the background, workspace dimensions, and zoom.
- Layers for finding chart elements and controlling their front-to-back order.
- Importar / Exportar Herramientas JSON para realizar copias de seguridad o mover gráficos entre entornos.
Creating curved seating rows
Seating sections can be curved to follow stages, fields, arenas, and other venue shapes.
- Añadir un nuevo Asientos section, or select an existing seating section.
- En Mostrar, adjust the Curve slider. Positive and negative values bend the rows in opposite directions, while a value of zero keeps them straight.
- Elija una Curve Anchor: Center creates a symmetrical curve, Left keeps the left end anchored, and Right keeps the right end anchored.
The curve is preserved when the chart is saved and is used in the builder, product seating manager, and customer-facing seating chart.
Creating straight and curved lines
Lines are useful for stages, aisles, barriers, boundaries, and other floor-plan details.
- Choose Shape, then select Line.
- Set the line width, color, and Curve. A value of zero creates a straight line; positive and negative values curve it in opposite directions.
- Select the line and drag either endpoint to change its length and direction. Hold Turno while dragging an endpoint to constrain it horizontally or vertically.
Selecting and moving builder items
- Click an item to select it and open its editing controls.
- Hold Turno and click items to add or remove them from a multi-item selection.
- Hold Turno and drag from an empty part of the canvas to select multiple items with a selection box.
- Drag any selected item to move the entire selected group together.
- Use the arrow keys to move selected items by 1 pixel, or Shift + Arrow key to move them by 10 pixels.
- Utilice Cmd/Ctrl + D to duplicate the primary selected item, Backspace/Delete to delete it, and Esc to close the editing panel and clear the selection.
When multiple items are selected, the editing sidebar and duplicate/delete actions apply to the primary selected item, while dragging and keyboard movement apply to the full selection.
Layers and canvas controls
Abrir Layers to see every element in the chart. Select a layer to edit its item, or drag layers to change their front-to-back order. When the layer’s drag handle is focused, use the up and down arrow keys to reorder it. You can also use Bring to Front y Send to Back from an item’s editing controls.
Abrir Lienzo to set the customer selection colors, canvas background color, width, height, and zoom. You can also drag the handles on the right and bottom edges of the canvas to resize it, or focus a resize handle and use the arrow keys to resize in 10-pixel steps. Dragging an empty area inside the canvas moves all chart elements together.
Comprender los estados de los asientos

A medida que trabaje con plantillas y asientos de eventos en vivo, verá diferentes estados de asiento:
- Disponible: El asiento puede seleccionarse y comprarse.
- No disponible: El asiento es visible, pero los clientes no pueden seleccionarlo.
- Bloqueado: El puesto ha sido bloqueado intencionadamente por un administrador.
- Reservado: El asiento está temporalmente retenido en el carrito de un cliente.
- Reservado: The seat has been allocated to an order and ticket.
Sillas ocultas y prebloqueadas
At template level, select a seating or table section and use Mayús + clic on a chair to cycle it from available to hidden, hidden to blocked, and blocked back to available. You can also hold Turno and drag across multiple chairs in the selected section to cycle their states in bulk.
This is useful for things like:
- asientos con vista obstruida,
- cámara o áreas técnicas,
- plazas no disponibles permanentemente,
- exclusiones específicas del lugar de celebración.
Las sillas ocultas no aparecerán como asientos seleccionables, y las sillas prebloqueadas permanecerán protegidas cuando se utilice el gráfico en los productos.
Nota sobre la edición de plantillas en vivo
If a template is already being used by active events, structural changes should be made carefully.
The system keeps a Historial de cambios y le advierte de que cambiar cosas como los identificadores de sección, los nombres de las filas o los números de asiento puede afectar a las entradas vendidas.

La mejor práctica es:
- evitar modificaciones estructurales importantes en las plantillas activas,
- pruebe las plantillas actualizadas antes de utilizarlas en eventos activos.
Importación y exportación de gráficos (JSON)
Utilice las herramientas JSON para hacer una copia de seguridad de un gráfico o moverlo entre entornos, por ejemplo de staging a producción.

Cómo funciona
- Open the source seating chart’s edit screen.
- Haga clic en Exportar below the builder launcher, then copy the full JSON content.
- Crear un nuevo plano de asientos.
- On the new chart’s edit screen, click Importar, paste the JSON, and confirm the import. Review the imported layout in the builder, then publish or save the chart.
Importante
Importing JSON replaces the chart currently loaded in the builder and recreates its visual layout, including sections, rows, seats, shapes, labels, canvas settings, layers, and structure. Existing valid section IDs are preserved where possible, while missing or duplicate IDs are regenerated when the chart is saved. If you import a layout into a new chart, treat that chart as a separate template and test it before using it on active products.
Configuración de las tablas de asientos en los productos
El nuevo asiento FooEvents funciona con:
- Único
- Días consecutivos
- Días específicos
- Puede reservar en
No funciona con el legado Asientos event type from V1.
If your product is currently using the old Asientos y desea utilizar el nuevo sistema de asientos, cambie el tipo de evento a Único u otra opción compatible y, a continuación, configure los ajustes de la tabla. Las selecciones de asientos existentes de los asientos antiguos no se transferirán, así que asegúrese de hacer esto sólo para los eventos en los que los asientos aún no se han reservado.
Flujo de trabajo de configuración de productos
- Abra el producto WooCommerce.
- En Detalles del evento, seleccione un tipo de evento compatible.
- En Configuración de los asientos, select your Tabla de asientos.
- Guardar el producto para poder aplicar las opciones de asiento.
- Vuelva a abrir los ajustes del producto para configurar opciones adicionales del gráfico.
- Utilice la Gestionar los asientos para ver y ajustar la disponibilidad de asientos en directo para ese producto.
Para qué sirven los ajustes de los asientos

Estos ajustes le permiten controlar cómo interactúan los clientes con el gráfico para un evento específico.
Agrupación de asientos
Enable this to enforce grouped seat selection. Customers choose how many tickets they need, and FooEvents attempts to select an adjacent group that includes the seat they clicked. For seating rows, the selection logic also avoids leaving unusable gaps at row edges where possible. Square-table selections prioritize nearby chairs.
Número predeterminado de plazas en un grupo
Sets the ticket quantity shown when the seat selector opens. Customers can adjust this quantity in the selector when grouping is enabled.
Número máximo de elementos seleccionables
Limits how many seats or standing places can be selected in one booking flow.
These options let you fine-tune the customer experience without changing the actual seating template.
Grouped, single, and flexible selection
- Seat grouping disabled: Customers can select any available seats individually, up to the configured maximum.
- Seat grouping enabled with a quantity greater than one: Clicking a seat selects an adjacent group of the requested size where a suitable group is available.
- Seat grouping enabled with a quantity of one: Single Selection Mode lets customers select an isolated seat or build a contiguous group by adding adjacent seats one at a time. After a standard row seat is selected, non-adjacent standard seats are temporarily unavailable, while genuine isolated seats remain selectable.
Single Selection Mode is useful when you want to allow single-ticket purchases without encouraging customers to leave unnecessary one-seat gaps. When isolated seats are detected, the selector displays guidance explaining this flexible selection behaviour.
Gestión del aforo para eventos con reserva

For events using FooEvents Reservas, seating is managed separately for each booking date and time slot combination. This means you can reuse the same seating chart across many dates, while keeping availability and bookings separate for each performance or timeslot.
For example, a theatre could use the same seating layout every night, while still tracking sold and available seats independently for each show.
This gives your team better control and keeps seating accurate across recurring bookings.
WooCommerce Stock Management
When using a seating chart, ticket availability is managed by the availability of seats on the seating chart rather than by WooCommerce stock quantities. Seats that are reserved or booked are automatically marked as unavailable on the seating chart.
As such, it is not necessary to set stock quantities for simple or variable products. The products only need to be set to In stock. Similarly, when using FooEvents Reservas, booking slot availability can be left at the default unlimited amount.
For products that use seating, we recommend configuring WooCommerce stock as follows:
- Edit the WooCommerce product and open the Inventario ajustes.
- Disable Gestión de existencias o Gestionar las existencias.
- Fije el Stock status a In stock.
- If you are using a variable product, apply these settings to every variation used by the seating chart.
- If you are using a bookable product, leave the booking slot stock quantity blank or set to unlimited.
Setting the product to In stock ensures that customers can access the product and open the seating chart to select their seats. It does not mean that every seat is available. The seating chart remains the authoritative source for seat availability.
Do not enter the total number of seats as the WooCommerce stock quantity. Doing so creates a second, independent availability limit. This could result in WooCommerce preventing a purchase even when the selected seats are still available on the seating chart.
Variation-level stock settings can still prevent valid seat purchases, so make sure stock management is disabled for every variation linked to the seating chart.
The standard WooCommerce In stock message is not normally displayed on shop or product pages when stock quantities are not being managed. However, this can vary depending on your theme or other plugins. If your theme displays an In stock message, we recommend disabling the messaging, as it could incorrectly suggest that seats are still available when the event is fully booked.
Legado Asientos y Migración
El legado Asientos event type is the older V1 seating workflow. The new seating chart settings do not apply to those products.
Existing seating selections from the old seating will not carry over to the new charts, so be sure to only do this for events where seats have not yet been booked.
To move a legacy product to the new system:
- Cambiar el tipo de evento de Asientos a Único u otro tipo admitido.
- Asignar un gráfico en Configuración de los asientos.
- Configure los ajustes de interacción del gráfico.
- Guarde el producto y pruebe la configuración de principio a fin.
Una vez migrados todos los productos de asiento heredados, puede activar Desactivar Legacy Seating para simplificar la experiencia de administración.
Asignación de secciones de asientos a variaciones
If you are using variable products, you can map specific chart sections to individual variations. This is useful when different seating areas need different pricing.
Open the variation settings and press the Mapa Secciones botón:

Seleccione las secciones que deben asignarse a esta variación:

When those areas are selected by customers, the mapped variation is applied to the selected item in the cart.

Por ejemplo:
- Los asientos de balcón podrían estar vinculados a una variación.
- Los asientos del suelo pueden estar unidos a otro.
Flujo de trabajo
- Configure sus variaciones de producto en WooCommerce como de costumbre.
- Abra los ajustes de variación y utilice Mapa Secciones en cada variación.
- Seleccione las secciones del gráfico a las que debe aplicarse la variación.
- Guarda el producto.
Hay que tener en cuenta un par de cosas:
- Las secciones que no estén mapeadas no estarán disponibles en esa variación.
- Los clientes sólo pueden seleccionar asientos que pertenezcan a la variación elegida.
Mobile experience
On mobile, the seating interface guides customers through the booking flow in a more step-by-step way.
- If seat grouping is enabled, customers are first asked how many tickets they want and can adjust the quantity from the selection panel.
- If the ticket quantity is set to one, Single Selection Mode allows isolated seats or lets customers build a contiguous selection one adjacent seat at a time.
- For bookable events, customers then choose the booking date and time slot before selecting seats.
- After selecting chairs or standing areas, customers can use the mobile menu to review tickets, remove selections, or change the booking date where applicable.
- Once they are happy with their selections, they continue using Reserve ahora.
Experiencia de los clientes en la página del producto
When a seating chart is enabled on a purchasable product, the standard WooCommerce add-to-cart flow is replaced with a Comprar entradas button. This replacement supports both classic WooCommerce single-product templates and current block-based add-to-cart templates.
When customers click Comprar entradas, se abre una interfaz de asientos a pantalla completa.

Aquí pueden:
- ver los detalles del evento,
- elija una fecha de reserva o una franja horaria si es necesario (Reservas FooEvents),
- choose mapped variation or ticket options where applicable,
- seleccionar asientos o zonas para estar de pie,
- revisar sus selecciones en un resumen en directo,
- seguir utilizando Reserve ahora.
Esto crea una experiencia mucho más clara para los clientes, porque pueden ver exactamente lo que hay disponible antes de pasar por caja.
Pago, reservas y ciclo de vida de los asientos
Flujo de reservas
Cuando un cliente pulsa Reserve ahora:
- FooEvents comprueba que las plazas seleccionadas siguen disponibles.
- Los asientos están reservados temporalmente.
- Se añaden a la cesta como selecciones individuales.
- The customer is redirected to the cart.
Comportamiento del carro

- Los clientes no pueden cambiar libremente la cantidad de selecciones de asientos basadas en gráficos en la cesta.
- Al retirar un asiento de la cesta se libera esa reserva, siempre que siga vinculada a esa sesión.
- Reservation time limits are controlled by your global hold setting, and the cart shows the approximate number of minutes remaining.
Comportamiento del pago
Before checkout is completed, reservations are checked again.
If a reservation has expired or a seat is no longer valid, checkout will be stopped and the customer will need to reselect.
Once checkout successfully creates the order and ticket data, the seat moves from Reservado a Reservado.
Reservation Checks
FooEvents Seating checks each selected seat before checkout can continue. These checks help prevent the same seat from being booked more than once.
The system verifies that:
- The seat reservation still exists.
- The seat is still reserved and has not expired.
- The reservation belongs to the current cart/session.
- The seat has not already been booked by another order.
- The seat has not been blocked or marked unavailable.
- The reserved seat is still within the configured reservation hold time.
- Seating products are added as individual seats, not grouped quantities.
- The reserved seat can be safely converted into a booked seat when the order is placed.
- Tickets are only generated after the seat has been successfully booked for the order.
If any of these checks fail, checkout will be stopped and the customer will need to remove the expired or unavailable seat from their cart and select a seat again.
Normas de liberación automática de los asientos
En Disponer de asientos en función del estado del pedido setting controls if and when seats are released automatically after order status changes.
You can choose to release seats on:
- Cancelado
- Fallido
The default and recommended option is Never make seats available automatically, which leaves releases under manual control. Enable Cancelado o Fallido only when those statuses reliably mean that the seats can be sold again in your order workflow. Use Fallido with particular caution: if a customer can pay a failed order later, its released seats may already have been booked by somebody else.
Gestión de entradas y entradas presenciales
Gestión de asientos por productos

Del producto Visor de plazas / Gestión de plazas, Los administradores pueden:
- actualice en directo la disponibilidad de plazas,
- ver asientos reservados y reservados,
- Abra los detalles de reserva para las plazas seleccionadas,
- liberar las plazas reservadas cuando sea necesario,
- gestionar las reservas de zonas de pie.
Esto es especialmente útil para los equipos de asistencia o el personal del recinto que necesitan resolver problemas de aforo con rapidez.
Gestión de asientos a nivel de entradas

En la pantalla de edición del ticket, los administradores pueden:
- ver el asiento o la zona actual,
- utilice Cambiar selección para moverlo,
- utilice Selección de la versión para quitarlo.
Si no hay un nuevo asiento disponible, el asiento original permanece inalterado para que no se pierdan datos.
Anulaciones y reembolsos
Es importante comprenderlo:
- Cancelar o eliminar un billete no liberar automáticamente el asiento.
- El reembolso de una posición de pedido no no liberar automáticamente el asiento.
Si desea que una plaza vuelva a estar disponible, es necesario liberarla manualmente a través de las herramientas de gestión de plazas, o gestionarla mediante las reglas de liberación del estado del pedido que haya elegido.
Plan de implantación recomendado
Una forma segura de introducir el nuevo sistema de asientos es hacerlo por etapas:
- Habilítelo primero en un sitio de prueba.
- Build and test templates for real venue layouts, including curved rows or lines, hidden seats, and pre-blocked seats where applicable.
- Aplique primero gráficos a un número reducido de productos.
- Test key flows, including single-day, sequential days, specific days, bookable, and variation-based seating.
- Test selection with grouping disabled, grouped quantities greater than one, and Single Selection Mode with a quantity of one. Include isolated seats, tables, standing areas, and maximum ticket limits where applicable.
- Test both classic and block-based WooCommerce product templates if your site uses them.
- Test reservation expiry, the cart countdown, conflict handling, order-status releases, and manual seat releases.
- Asegúrese de que su equipo de asistencia o administración sabe cómo gestionar los asientos en directo.
- Migre el resto de sus productos por fases.
- Desactive los asientos heredados sólo cuando haya terminado por completo con la V1.
Currently not supported
The following functionality is not yet supported in the FooEvents Seating Version 2 beta:
- FooEvents Check-ins app: Seating Version 2 information is not currently displayed in the publicly available FooEvents Check-ins app. Support will be added before launch.
- FooEvents Punto de venta: Support for FooEvents Seating Version 2 is under development and will be added in a future release.