---
title: "Charts and objects"
description: "Build reusable venue geometry from rows, tables, booths, GA areas, sections, zones, shapes, and text."
---

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

# Charts and objects

A chart is reusable venue geometry plus categories, buyer presentation, and
authoring metadata. It has no live availability until a published snapshot is
used to create an event.

## Object types

- **Row** — Parametric reserved seating defined by origin, count, spacing, direction,
curve, and optional seat-level overrides.
- **Table** — Round or rectangular seating that can book individual chairs, an atomic
whole table, or a flexible party size within authored bounds.
- **Booth** — One bookable block such as a trade-show stand, VIP box, or private suite.
- **GA area** — A polygon with quantity-based capacity instead of individually presented
seat positions.
- **Section** — A named region that owns geometry, far-zoom navigation, and optional
generated seat-plan behavior.
- **Shape** — Non-bookable context such as a stage, field, wall, aisle, or decorative
polygon.
- **Text** — Wayfinding or descriptive copy placed independently on a floor.
- **Zone** — A higher-level grouping for sections, navigation, focal points, reporting,
and zone-scoped best-available selection.

## Parametric geometry

Rows and sections store compact design intent rather than an arbitrary list of
rendered dots. The renderer deterministically expands that intent into inventory
positions.

> **Edit the rule, not every seat**
>
> Changing row spacing, curvature, count, or a section path reflows the derived
> seats. Seat-level overrides retain intentional exceptions such as labels,
> accessibility, pricing, and skipped positions.

This model enables consistent labels, scalable large venues, repeatable agent
operations, and validation before publication.

## Tables and inventory identity

| Mode | Buyer selects | Inventory behavior |
|---|---|---|
| Individual | One or more chairs | Each chair has its own identity |
| Whole table | The table | All capacity is one atomic unit |
| Flexible occupancy | A party size | Table remains exclusive to one buyer within min/max bounds |

New events preserve the table mode and capacity from the chart snapshot they
were created from. Changing the chart later does not reinterpret an existing
event's inventory.

## Categories, tiers, and price

Every bookable object has a category:

```ts
interface Category {
  key: string;
  label: string;
  color: string;
  price?: number;
  tiers?: Array<{
    id: string;
    name: string;
    price: number;
  }>;
}
```

- `key` is the stable integration identity.
- `label` is buyer-facing copy.
- `color` drives the map legend and seat styling.
- `price` and tier prices use major currency units.

> **Authoritative for holds and reporting**
>
> SeatLayer does not process payment, but category/tier price is stamped into
> held items and booked records. Charge from the server-inspected hold. A
> browser `pricing` override changes display only.

See [ticket tiers](/buyer-sdk/ticket-tiers) for the buyer-to-server flow.

## Sections, zones, and focal points

Sections group rows and other objects for navigation and venue structure. Zones
group sections one level higher—for example Lower Bowl, Upper Bowl, and Floor.

Each used zone should have an explicit focal point aimed at its stage, field, or
performance area. That focal influences zone-scoped best-available ranking and
generated view-from-seat perspective; it does not change inventory identity.

Small venues can omit zones and work directly with sections or bare objects.

## Three image jobs

| Asset | Purpose | Buyer receives it? |
|---|---|---:|
| Private trace reference (`referenceImage`) | Authoring guide for PNG/JPEG/WebP or a selected PDF page | No |
| Imported SVG/DXF primitives | Sanitized shapes converted into editable chart objects | As resulting shapes |
| Buyer background (`backgroundImage`) | Optional presentation layer behind the buyer map | Yes |

Private reference bytes and provenance are stripped from the buyer document.
SVG/DXF import supports a bounded primitive subset, not arbitrary scripts,
external resources, or full CAD fidelity.

## Authoring checklist

- [ ] Every bookable identity and visible label is unique where required.
- [ ] Categories use stable keys and intended major-unit prices.
- [ ] Rows/sections use geometry rules rather than manual seat duplication.
- [ ] Table booking modes match how the venue sells them.
- [ ] GA capacity and flexible table bounds are realistic.
- [ ] Sections and zones have readable names and explicit focal points.
- [ ] Private trace references are not confused with buyer backgrounds.
- [ ] Validation passes before publication.

Continue with [accessibility and pricing](/designer/accessibility-and-pricing),
[templates](/designer/templates), or
[publishing and versioning](/designer/publishing-and-versioning).

Source: https://docs.seatlayer.io/designer/charts-and-objects/index.mdx
