> ## Documentation Index
> Fetch the complete documentation index at: https://docs.riservahq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Tables and the floor map

Add tables to a venue so Riserva knows whether a party actually fits. Until a
venue has tables, Riserva can only count heads. It can't tell you whether a
party of six fits.

There are two places to work on tables, and both edit the same tables:

* **The venue page** — a list, best for precise settings (covers, combinability).
* **The floor map** — a drag-and-drop layout, best for building the room.

## Before you start

* Create the venue first. See [Set up locations and venues](/getting-started/locations-and-venues).

## Add tables from the venue page

1. Go to **Settings → Venues & floor maps**, then click a venue.
2. In **Tables and seating**, click **Add table**.
3. Fill in the fields below.
4. Press **Add** (or **Save** when editing).

| Field | What it means |
| - | - |
| **Name** | What staff call it — "T12", "Bar seats 1-6" |
| **Type** | Table, Bar seats, Cabana, Tour unit, or Whole venue |
| **Min covers** | Smallest party you'd seat here |
| **Max covers** | Largest party — or, for a shared pool, total bookable seats |
| **Seats** | Chairs drawn on the floor map |
| **Communal seating** | Hosts several parties at once as a pool of seats |
| **Combinable with** | Other tables this one can be pushed together with |

Choosing **Bar seats** ticks **Communal seating** for you. A communal table is
booked by *seats remaining*, not by the whole table. That's exactly how a
tasting bar works. A regular table is taken whole: one party, one table.

<AccordionGroup>
  <Accordion title={"If the Add table dialog won't close"}>
    Something is missing or out of range. Pressing **Add** or **Save** leaves the
    dialog open and says what to fix in red under that field. For example, "Enter
    a name" or "Max covers must be at least Min covers".
  </Accordion>
</AccordionGroup>

### Combinable tables

If you seat a party of six by pushing two four-tops together, tick both tables
in each other's **Combinable with** list. Riserva will then offer that pair to
a party that doesn't fit any single table.

Riserva only ever combines **two** tables, and never a communal one.

<AccordionGroup>
  <Accordion title={"Why a pairing with a bar or shared table is ignored"}>
    The venue page only lists regular tables as partners. The floor map's
    **Combinable with** list shows every table. But Riserva ignores a pairing that
    includes a communal table (a bar, a shared farm table) when it works out who
    fits. A communal table already takes several parties on its own seats.
  </Accordion>
</AccordionGroup>

## Draw the floor map

Click **Floor map** on the venue (or from the location list) for the visual
editor.

1. Add tables from the **Add to floor** palette.
2. Drag each table into place, and resize or rotate it.
3. Pick a **Shape** for each table: Rectangle or Round.
4. Create zones and assign tables to them.
5. Select **Save**.

The **Add to floor** palette has four presets. Each one lands with an
automatic name (T1, T2, B1, C1…) and a sensible cover range you can edit.

* Table (2×2)
* Round table (2×2)
* Bar (6×1) — communal by default
* Cabana (3×3)

To arrange tables on the floor map:

| Action | How |
| - | - |
| Move | Drag it — it snaps to half-grid steps |
| Resize | Drag the bottom-right corner handle |
| Rotate | The **Rotate 45°** button, or press **R** |
| Delete | Select it and press **Delete** (or Backspace) |
| Deselect | **Escape** |

**Shape.** Rectangle or Round, per table. Communal tables draw with a dashed
outline; cabanas get canopy corners.

**Zones.** Create zones — Patio, Main room, Mezzanine — and assign tables to
them. Each zone gets a colour that tints its tables, so the room reads at a
glance.

**Combinable tables** are joined on the canvas by a dashed line. You can see
your combinations rather than remembering them.

**Saving.** The map saves as a whole with **Save**. A badge in the header reads
**Unsaved changes** or **Saved**. **Discard** throws away a bad session.

<AccordionGroup>
  <Accordion title={"How chairs are drawn on the floor map"}>
    Chairs follow max covers automatically: set a table to seat 6 and 6 chairs
    appear. Once you change the seat count by hand, the two stop tracking each
    other. So you can draw 8 chairs around a table you only ever sell to 6.

    Chairs are drawn *outside* the shape and spread sensibly. 2 seats face each
    other, and 4 on a wide table go two-and-two. Bar seats get dots along one long
    edge only. If your wall is on the other side, rotate the bar 180°.
  </Accordion>

  <Accordion title={"What the floor map doesn't do"}>
    So you don't go looking:

    * **No zoom or pan.** The grid is a fixed 48 × 28 units.
    * **No background image.** You can't trace over a blueprint.
    * **No undo.** Discard throws away the whole session, not the last action.
    * **It's a builder, not a live view.** It shows your layout, not tonight's
      table states. The live view is Host → **Map** — see
      [The Host view](/daily-operations/host-view).
  </Accordion>
</AccordionGroup>

## Remove a table

Riserva protects your history when you remove a table:

* A table that has **never been assigned to a reservation** is deleted
  outright.
* A table that **has** been used is **deactivated** instead. The menu item
  even says "Deactivate (has reservation history)".
* A table Riserva has only *suggested* for parties still to arrive does not
  count as used. It is deleted, and those parties are given another table.

A deactivated table disappears from the floor map. It stays listed on the venue
page with an **Inactive** badge.

<AccordionGroup>
  <Accordion title={"If the floor map asks \"Remove 1 table?\""}>
    The floor map asks before saving a removal, with **Remove and save**. It says:

    > Tables that already have reservations are deactivated instead of deleted, so
    > reservation history and reports stay intact.
  </Accordion>
</AccordionGroup>

## How tables affect what guests can book

It depends on the experience's capacity strategy:

* **Venue floor map** experiences book against real tables. If no table (or
  combinable pair) can seat the party at that time, the time isn't offered.
* **Manual capacity** experiences count heads against a per-start-time number.
  So tables are used for seating on the day, not for gating availability.
* **Whole venue** buyouts need the room completely empty.

See [Capacity strategies explained](/core-concepts/capacity-strategies).

**What things mean on this screen:** [What things mean: Settings](/reference/settings)

## Related

* [Set up locations and venues](/getting-started/locations-and-venues)
* [Capacity strategies explained](/core-concepts/capacity-strategies)
* [The host view](/daily-operations/host-view)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.