← All documentation

Venues & Seating

Build booth inventory, draw a venue map, lay out priced seats and tables, and sell them through a public paid seat checkout.

Some events sell a headcount — twenty vendors, any twenty. Others sell a specific place — booth A1, table 12, seat R4-7. Venue tools are for the second kind. They let you build a booth inventory, draw it on a real map of your site, lay out seats and tables in a room, and reserve exact locations against a date.

This is the toolset for indoor markets with fixed footprints, event halls, theaters, and anywhere the answer to “where am I?” needs to be more precise than “somewhere at the market.”

How do I turn a market into a venue?

A venue in VendorStreet is a market with its booking mode set to Spaces. There’s no separate object to create.

Go to Market → Edit → Basics and set Booking mode to Spaces. The in-app help puts it directly: “Capacity mode limits bookings by count; Spaces mode limits by named booths.”

VendorStreet will warn you when you switch, because changing the mode affects existing bookings and space assignments. Do it before you take real bookings, not after.

Once you’re in Spaces mode, the Spaces & Map tab comes alive and the spaces endpoints start accepting work. See Markets for the mode comparison.

What are regions, spaces, and layout objects?

Three nested layers, from coarse to fine:

Regions are the big divisions of your site — “Building A,” “North Lawn,” “Upstairs.” Add them under the Regions card with a name and an optional description. Regions are reorderable and act as a filter everywhere else, including on your public map.

Spaces are your booths — the sellable inventory. The Spaces inventory card lists them by Code, Name, Size, Base price, and Status. When adding one you set:

  • Space code — the identifier vendors and staff use (A1, NW-04).
  • Name (optional) — a friendlier label.
  • Width (feet) and Depth (feet) — the footprint.
  • Base price (USD) — what this booth costs. This is where a Spaces-mode market gets its base price for pricing rules.
  • Region — which region it belongs to.

Building a row of identical booths? Use Duplicate along row — set the number of Copies and a Direction (Right or Left) and VendorStreet generates the rest.

Layout objects are seats, tables, and sections placed inside a space. That’s the seating layer, covered below.

How do I put my booths on a map?

Under the Map editor card — “Draw polygons to map spaces to the uploaded layout image.”

  1. Upload a site plan or overhead image as PNG or JPEG (Upload map, or Replace map later).
  2. Select a space from your inventory.
  3. Drag a rectangle over its position on the map — or switch to the polygon tool and click out each corner for irregular shapes.
  4. Repeat for each booth.

The result is a real map of your market that visitors can browse at /markets/<your-slug>/map. It supports pan and zoom, filtering by region, and a legend showing Available, Booked, Locked, and Assigned to you.

Note that the public map is read-only — visitors can look and filter, but nothing is booked from that page.

How do I set up a seating chart?

Seating lives inside a space, under the Seating layout card. You’ll need a map image uploaded and selected for that space first — the layout is drawn on top of it.

Start by choosing a Seating model:

  • Not configured — no seating.
  • Open / general admission“capacity only, no seat identity to lay out.” Picks a headcount and hides the canvas entirely.
  • Operator-assigned seats — you place people in specific seats.
  • Customer seat selection — seat-level identity intended for customer picking.
  • Table reservations — reservations are made by table rather than by seat.

Any model other than open reveals the layout canvas: “Place seats and tables on the space map below, then save the layout.”

Placing seats, tables, and sections

The canvas toolbar gives you Add seat, Add table, and Add section. Place objects by dragging them onto the map image; a live counter tracks how many are placed and how many are queued for removal. Click Save layout when you’re done.

Each object type behaves differently:

  • Seat — a single point. Has a Label and an optional Section assignment (defaults to Unassigned).
  • Table — a rectangle with a Label and a Capacity.
  • Section — a rectangle grouping seats, with a Label, a Capacity, and a Sale mode.

Remove deletes the selected object.

What are sale modes, and which should I use?

Sale mode is set per section and controls how that part of the room is sold. It overrides the space’s seating model, so you can mix approaches in one room — reserved seats down front, general admission at the back, a private suite sold whole.

  • Assigned — pick individual seats. Buyers get specific seats. Capacity is optional here because it derives from the seats you’ve tagged into the section.
  • General admission — buy N up to capacity. No seat identity; people buy a quantity against a cap. Requires a capacity of at least 1.
  • Whole — sold as one unit. The entire section goes to one buyer — a suite, a private room, a VIP box. Requires a capacity of at least 1.

Pricing sections and seats

Sections now carry a price, and that price means something slightly different per sale mode:

  • Assigned — the price is per seat. Every seat in the section costs the section price unless you tier it (below).
  • General admission — the price is per admission, multiplied by the quantity bought.
  • Whole — the price is for the whole unit.

Set a section’s price (in dollars) on the section tool in the Seating layout editor. A section — or a bare seat that belongs to no section — with no price is treated as not purchasable online; the public checkout won’t sell it.

Price tiers let you charge more for front-row than back-row within one assigned section. Define named, reusable tiers on the space — for example Premium, Standard, Value — each with its own price and colour, then assign each seat to a tier. A seat’s tier price wins over its section price; an untiered seat falls back to the section price. The public map shows a colour legend and a price range for tiered sections.

How does reserving seats work?

Open the Reserve seats card — “Hold and book specific seats or tables on [space] for a scheduled occurrence, with live availability.” It appears once a seating model is set to something other than open.

  1. Pick an Occurrence — which scheduled date you’re reserving against. See Scheduling.
  2. Click seats or tables on the map to select them. For general admission sections, use the and + steppers instead; each row shows how many of the capacity are left.
  3. Your picks appear in the Selection panel, each with a Remove link and a live countdown.
  4. Optionally add add-ons — an add-ons total is shown as you go.
  5. Click Confirm reservation.

How long do seat holds last?

Ten minutes. The moment you select a seat it’s held against everyone else, and the countdown in the Selection panel shows the time remaining. When a hold expires, the selection clears and the seat returns to the pool. The duration is fixed and not currently configurable.

Because two people can be working the same room, you’ll occasionally hit a conflict. VendorStreet is explicit about it rather than silently reassigning: “One or more selected seats were just booked by someone else”, “This section was just sold out by someone else”, or “This selection’s holds have expired. Please re-select your seats.” Availability refreshes automatically and you pick again.

The operator Reserve seats tool is inventory only — confirming a seat there is a roster operation, not a sale. No charge is created and no card is taken at that step; it’s for placing people you’ve already dealt with. Payment is handled by the public seat checkout, below.

Can customers buy seats online?

Yes — venues now have a full public paid seat checkout. This is new; if you remember venue seating as inventory-only, that’s changed. Customers browse the seat map, hold a selection, and pay through Stripe, exactly the way experiences sell.

The public seat page (reached via a View seating button on your public venue page) lets a visitor:

  1. Pick the space and the date (occurrence) they’re buying for.
  2. Browse the master map — sections coloured by availability (open / limited / sold out) — and drill into a section.
  3. Select seats (assigned), choose a quantity (general admission), or take the whole unit — building a cart under a 10-minute hold with a live countdown.
  4. Click Proceed to payment, enter name and email, and pay on Stripe Checkout.

Only priced seats and sections are sellable — anything left unpriced shows as “not available for online purchase.” The amount is always recomputed server-side from the held seats, so the price is never trusted from the browser. When payment succeeds a booking is confirmed and the customer gets a confirmation email and a status page; if they abandon checkout, the hold simply expires and the seats return to the pool.

Stripe must be connected for this to work — an operator with no connected Stripe account will have customers stopped at payment, the same as experiences. See Payments & Payouts.

Service fee and tipping on seat checkout

Because venue seats now take real payment, they carry the same optional checkout charges as experiences:

  • A fixed service fee — set a per-model default under organization settings, or override it per venue in Market → Edit → Basics (“Checkout charges”).
  • Tipping — off by default; turn it on per venue with optional presets or a compulsory floor the buyer can add to, plus a custom note.
  • A card processing surcharge and sales tax via Stripe Tax also apply here.

One thing worth calling out plainly: on these sales you are the merchant of record, which means you are responsible for collecting and remitting sales tax — and Stripe collects $0 tax until you register your jurisdictions in Stripe. The full story, including the worked line-item math, is in Checkout Charges.

Who can reserve seats?

Two paths now:

  • The public seat checkout (above) is open to anyone — no login, guests buy and pay for themselves.
  • The operator Reserve seats tool is still staff-only, from inside the market admin, and remains payment-free — use it to place people you’ve handled outside the online flow.

The booth map at /markets/<your-slug>/map still shows booth polygons only — it doesn’t render seats. Seat browsing and buying happen on the dedicated public seat page, not the booth map.

Common gotchas

  • A map image is required before you can lay out seating. “Upload and select a map for this space to lay out seating.”
  • Holds expire in ten minutes, with no warning beyond the countdown. Long phone bookings will lose their selection mid-call.
  • Section sale mode beats the space’s seating model. If a section is behaving unexpectedly, check its sale mode before the space setting.
  • General admission and whole sections need an explicit capacity; assigned sections derive theirs from tagged seats.
  • Unpriced seats and sections can’t be sold online. The public checkout skips anything with no price; set a section price (or seat tier) to make it purchasable.
  • Seats now take real payment, and Stripe must be connected. Without a connected Stripe account, public seat buyers are stopped at checkout.
  • On seat sales you’re the merchant of record. You owe the sales tax, and Stripe collects $0 tax until you register your jurisdictions in Stripe. See Checkout Charges.
  • Switching a live market’s booking mode is disruptive. Existing bookings and space assignments are affected.
  • Booth polygons and seating layouts are stored separately. Drawing booths on the map doesn’t create seats, and vice versa.

Next steps