Try the Shopify seat map picker
Click a seat, then click it again to let it go. Try a sold one, a wheelchair space and an eleventh seat. Switch venues, sell a dinner by the whole table, and change the settings a merchant has. Nothing to install to look around.
Fifty seats in five curved rows, two price areas. Try a wheelchair space in row E, choose an eleventh seat, or open “More options” under the map and enter the private code LINDEN-FRIENDS-2026: two seats in row B come free.
In the app: draw the map on the Seat maps page, then attach it on the event's Reserved seating tab.
Reserved seating tab. Whole tables needs a map with nothing but tables on it, so here it opens on the dinner map only.
Tickets tab, Ticket limits. With no limit set, one shopper can hold ten seats, or the biggest table when whole tables are sold.
Reserved seating tab, More seating options. Anything from 5 to 30; a new event starts on 20.
Customers must choose seats side by side. A booking cannot leave one empty seat between it and the next taken seat or the end of the row. Common in cinemas.
The storefront language. The seat chooser ships in six.
Choose a seat first. The real chooser checks the map every 20 seconds, and a seat of yours sold in the meantime leaves your seats with a line saying so.
Your seats: 0
- Front rows$65.00
- Main seating$45.00
- Available
- Selected
- Unavailable
- Accessible
- Companion seat
- Restricted view
More options
Add attendee information for each selected ticket.
0 seats · $0.00You can choose up to 10 seats.
Choose seats on the map.
Tax calculated at checkout
Your seats are held while you check out. If the hold runs out before you pay, they go back on sale.
The venues, prices and sold seats here are samples. On your store they come from the seat map you draw and from real orders.
What you are looking at
This is the seat chooser Easy Tickets & Events opens when a shopper presses “Choose seats” on a Shopify product page for a reserved-seating event. Every seat on the map is a button: click to take it, click again to let it go, and the summary adds up the ticket price of each seat’s price area. One shopper can hold ten seats at a time unless you set your own limit per order.
Seats someone has bought, seats in another shopper’s hold and seats you took out of sale all look the same to a shopper: grey, with a cross, and “Unavailable” in the legend. Wheelchair spaces carry their own icon, companion seats a dashed edge and restricted-view seats a dotted one, and the legend only names the marks your map uses. “Continue” holds the seats for 20 minutes by default while the shopper names each ticket and pays at Shopify’s own checkout.
The full write-up, with the setup steps, the honest limits and the answers merchants ask most, is on the reserved seating feature page.
What the real block does that this demo does not
- The product page around it. On a real store the shopper presses the store’s own buy button, which the app relabels “Choose seats” on a seated event, and the chooser opens in a popup over the product page. The quantity box and the ticket-type picker are hidden there, because the seats chosen are the tickets. A merchant can add a second “Choose seats” button anywhere on the page with the Seat picker theme block. None of that page is drawn here, and neither are the popup’s close button or the product image beside the event name.
- A real hold. On a store, “Continue” reserves the seats on the server, so no other shopper can take them while the timer runs, and “Continue to checkout” puts the seats and the guest details in the Shopify cart and opens the checkout. Here the hold, the timer and “Change seats” all happen in this browser tab, and nothing is bought.
- Other shoppers. The real chooser reads the map again every 20 seconds, so a seat another shopper buys turns grey by itself, and one you had chosen leaves your seats with a line naming it. Here that only happens when you press “Sell one of your seats to someone else”.
- The shopper’s own currency. On a store that sells in more than one currency, the chooser reads the store’s own product prices and shows what the cart will charge, with a note when it cannot. Every price here is in US dollars.
- Add-ons, refund protection and custom questions. When an event sells add-ons or refund protection, the guest step asks for them per seat or per order and the summary adds them to the total, and any questions the merchant added to the ticket form are asked there too. The samples have none.
- More than one date. When an event has several dates with a seat map, the chooser opens with a date select above the map. Each sample here has one date.
- Floors and standing areas. A map with more than one floor gets a floor select, and a standing area sells one place per click. The samples use sections, rows and tables.
- Closed sales. When a date’s seat sales are paused or over, the chooser shows the event’s other dates instead of the map, or says when these seats go on sale, or that nothing else is on sale. On the product page a sold-out seated event says “Sold out”, and one whose seats are not on sale yet says “Seats not on sale yet”.
- Translated names. Event names and ticket type names follow the shopper’s language when the merchant has added a translation. The names of the samples stay in English, while every word the chooser itself prints switches.
- A full-screen phone view. On a phone the real popup fills the screen and the summary is a bar fixed to its bottom edge. Here the same bar sits under the map, inside the card.
- Zoom is not missing. The real chooser has no zoom or pan either: it always fits the whole hall in view, the seat number shows when a seat is pointed at or chosen, and “Show seat list” lists every seat as a tick box for anyone who would rather not aim at small squares.