Create Venue Layout
POST
/venues/{id}/layoutsSet up a seating layout for a venue.
Layouts define how a venue is configured for ticket sales. A theatre might have
a "Full House" layout with all seats, and a "Cabaret" layout with tables.
A stadium might have different layouts for concerts vs football matches.
After creating a layout, you'll add areas (like "Stalls" or "Circle") and
then seats within those areas.
When to use this
- Setting up seating for a new venue
- Creating different configurations for the same space
- Defining reserved seating vs general admission areas
Parameters
idpathrequiredVenue ID
Request Body
name*stringLayout name
descriptionstringLayout description
status"active" | "archived"Layout status
totalCapacitynumberTotal capacity (denormalized sum of all area capacities)
idstringFloor ID (auto-generated if not provided)
name*stringFloor name
displayOrder*numberDisplay order (0 = ground, higher = upper floors)
descriptionstringFloor description
idstringCategory ID (auto-generated if not provided)
name*stringCategory name
descriptionstringCategory description
displayOrder*numberDisplay order in UI
colorstringHex color for visual distinction
idstringArea ID (auto-generated if not provided)
name*stringArea name
descriptionstringArea description
type*"unallocated" | "allocated"Area type (unallocated = GA, allocated = assigned seating)
status"active" | "inactive"
floorIdstringFloor ID (for multi-level venues)
capacity*numberTotal capacity
displayOrder*numberDisplay order in UI
colorstringHex color for visual distinction
idstringDecoration ID (auto-generated if not provided)
type*"stage" | "pillar" | "barrier" | "aisle" | "wall" | "exit" | "entrance" | "bar" | "restroom" | "label" | "custom"Decoration type
namestringDecoration name
labelstringDisplay label text
tagsstring[]Layout tags
Response
Venue layout created successfully
Notes
ℹ️After creating the layout, use `addAreaToVenueLayout` to add seating areas.
💡Give layouts clear names like "Full Capacity" or "Reduced COVID Layout" so staff can easily pick the right one.
Code Samples
Create Venue Layout using the TypeScript SDK:
import { BackstageClient } from '@ticketlayer/backstage';
const client = new BackstageClient({
organisationSlug: 'your-org',
});
client.setAccessToken('YOUR_ACCESS_TOKEN');
// Create venuelayout
const venuelayout = await client.venuelayout.create({
name: 'New VenueLayout',
// Add other required fields
});
console.log(`Created venuelayout with ID: ${venuelayout.id}`);