BackstageClient.venues
BackstageClient.venues in @ticketlayer/backstage.
@ticketlayer/backstage / BackstageClient / venues
venues: (id: string) => {
venuelayoutareas: {
addArea: (layoutId: string, request: {
capacity: number;
categoryId?: string;
color?: string;
description?: string;
displayOrder?: number;
name: string;
position?: {
height: number;
width: number;
x: number;
y: number;
};
seats?: any[];
status?: "active" | "inactive";
type: "unallocated" | "allocated";
}, requestOptions?: RequestOptions) => Promise<{
area: {
capacity: number;
color?: string;
description?: string;
displayOrder: number;
id: string;
name: string;
seats?: unknown[];
status: "active" | "inactive";
type: "unallocated" | "allocated";
};
venueLayout?: unknown;
}>;
deleteArea: (layoutId: string, areaId: string, requestOptions?: RequestOptions) => Promise<{
success: boolean;
venueLayout?: unknown;
}>;
updateArea: (layoutId: string, areaId: string, request: {
capacity?: number;
categoryId?: string;
color?: string;
description?: string;
displayOrder?: number;
name?: string;
position?: {
height: number;
width: number;
x: number;
y: number;
};
seats?: any[];
status?: "active" | "inactive";
type?: "unallocated" | "allocated";
}, requestOptions?: RequestOptions) => Promise<{
area: {
capacity: number;
color?: string;
description?: string;
displayOrder: number;
id: string;
name: string;
seats?: unknown[];
status: "active" | "inactive";
type: "unallocated" | "allocated";
};
venueLayout?: unknown;
}>;
};
venuelayoutcategories: {
addCategory: (layoutId: string, request: {
color?: string;
description?: string;
displayOrder?: number;
name: string;
}, requestOptions?: RequestOptions) => Promise<{
category: {
color?: string;
description?: string;
displayOrder: number;
id: string;
name: string;
};
venueLayout?: unknown;
}>;
deleteCategory: (layoutId: string, categoryId: string, requestOptions?: RequestOptions) => Promise<{
success: boolean;
venueLayout?: unknown;
}>;
updateCategory: (layoutId: string, categoryId: string, request: {
color?: string;
description?: string;
displayOrder?: number;
name?: string;
}, requestOptions?: RequestOptions) => Promise<{
category: {
color?: string;
description?: string;
displayOrder: number;
id: string;
name: string;
};
venueLayout?: unknown;
}>;
};
venuelayouts: {
create: (request: {
areas?: {
capacity: number;
color?: string;
description?: string;
displayOrder: number;
floorId?: string;
id?: string;
name: string;
position?: {
height: ...;
width: ...;
x: ...;
y: ...;
};
seats?: ...[];
sections?: ...[];
status?: "active" | "inactive";
type: "unallocated" | "allocated";
}[];
categories?: {
color?: string;
description?: string;
displayOrder: number;
id?: string;
name: string;
}[];
decorations?: {
id?: string;
label?: string;
name?: string;
position: {
height: number;
rotation?: ... | ...;
width: number;
x: number;
y: number;
};
style?: {
fill?: ...;
fontSize?: ...;
fontWeight?: ...;
stroke?: ...;
};
type: | "stage"
| "pillar"
| "barrier"
| "aisle"
| "wall"
| "exit"
| "entrance"
| "bar"
| "restroom"
| "label"
| "custom";
}[];
description?: string;
floors?: {
description?: string;
displayOrder: number;
id?: string;
name: string;
}[];
name: string;
status?: "active" | "archived";
tags?: string[];
totalCapacity?: number;
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
areas: unknown[];
categories: unknown[];
createdAt: string;
createdBy?: string;
decorations?: {
id: string;
label?: ... | ...;
name?: ... | ...;
position: {
height: ...;
rotation?: ...;
width: ...;
x: ...;
y: ...;
};
style?: ... | ...;
type: ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ...;
}[];
description?: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
status: "active" | "archived";
tags: string[];
totalCapacity: number;
updatedAt: string;
venueId: string;
}>;
delete: (layoutId: string, requestOptions?: RequestOptions) => Promise<{
id: string;
success: boolean;
}>;
get: (layoutId: string, requestOptions?: RequestOptions) => Promise<{
accountId: string;
areas: unknown[];
categories: unknown[];
createdAt: string;
createdBy?: string;
decorations?: {
id: string;
label?: ... | ...;
name?: ... | ...;
position: {
height: ...;
rotation?: ...;
width: ...;
x: ...;
y: ...;
};
style?: ... | ...;
type: ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ...;
}[];
description?: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
status: "active" | "archived";
tags: string[];
totalCapacity: number;
updatedAt: string;
venueId: string;
}>;
list: (options?: {
accountId?: string;
limit?: string;
page?: string;
search?: string;
status?: "active" | "archived";
}, requestOptions?: RequestOptions) => Promise<{
pagination: {
hasNext: boolean;
hasPrev: boolean;
limit: number;
page: number;
total: number;
totalPages: number;
};
venueLayouts: {
accountId: string;
areas: unknown[];
categories: unknown[];
createdAt: string;
createdBy?: string;
decorations?: ...[];
description?: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
status: "active" | "archived";
tags: string[];
totalCapacity: number;
updatedAt: string;
venueId: string;
}[];
}>;
update: (layoutId: string, request: {
areas?: {
capacity: number;
color?: string;
description?: string;
displayOrder: number;
floorId?: string;
id?: string;
name: string;
position?: {
height: ...;
width: ...;
x: ...;
y: ...;
};
seats?: ...[];
sections?: ...[];
status?: "active" | "inactive";
type: "unallocated" | "allocated";
}[];
categories?: {
color?: string;
description?: string;
displayOrder: number;
id?: string;
name: string;
}[];
decorations?: {
id?: string;
label?: string;
name?: string;
position: {
height: number;
rotation?: ... | ...;
width: number;
x: number;
y: number;
};
style?: {
fill?: ...;
fontSize?: ...;
fontWeight?: ...;
stroke?: ...;
};
type: | "stage"
| "pillar"
| "barrier"
| "aisle"
| "wall"
| "exit"
| "entrance"
| "bar"
| "restroom"
| "label"
| "custom";
}[];
description?: string;
floors?: {
description?: string;
displayOrder: number;
id?: string;
name: string;
}[];
name?: string;
status?: "active" | "archived";
tags?: string[];
totalCapacity?: number;
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
areas: unknown[];
categories: unknown[];
createdAt: string;
createdBy?: string;
decorations?: {
id: string;
label?: ... | ...;
name?: ... | ...;
position: {
height: ...;
rotation?: ...;
width: ...;
x: ...;
y: ...;
};
style?: ... | ...;
type: ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ...;
}[];
description?: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
status: "active" | "archived";
tags: string[];
totalCapacity: number;
updatedAt: string;
venueId: string;
}>;
};
venuelayoutseats: {
addSeat: (layoutId: string, areaId: string, request: {
attributes?: (
| "center"
| "accessible"
| "wheelchair_space"
| "companion_seat"
| "restricted_view"
| "aisle_left"
| "aisle_right"
| "easy_access"
| "obstructed_view"
| "excellent_view"
| "stage_view"
| "extra_legroom"
| "premium_comfort"
| "front_row"
| "back_row")[];
categoryId?: string;
companionSeats?: string[];
companionTo?: string;
holdType?: string;
internalNotes?: string;
label?: string;
number: string;
position?: {
rotation?: number;
x: number;
y: number;
};
publicNotes?: string;
row: string;
section?: string;
status?: "removed" | "available" | "blocked" | "accessible" | "held";
}, requestOptions?: RequestOptions) => Promise<{
seat: {
attributes?: string[];
categoryId?: string;
companionSeats?: string[];
companionTo?: string;
holdType?: string;
id: string;
internalNotes?: string;
label: string;
number: string;
position?: {
rotation?: ... | ...;
x: number;
y: number;
};
publicNotes?: string;
row: string;
section?: string;
status: "removed" | "available" | "blocked" | "accessible" | "held";
};
venueLayout?: unknown;
}>;
bulkAddSeats: (layoutId: string, areaId: string, request: {
seats: {
attributes?: (... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ...)[];
categoryId?: string;
companionSeats?: string[];
companionTo?: string;
holdType?: string;
internalNotes?: string;
label?: string;
number: string;
position?: {
rotation?: ... | ...;
x: number;
y: number;
};
publicNotes?: string;
row: string;
section?: string;
status?: "removed" | "available" | "blocked" | "accessible" | "held";
}[];
}, requestOptions?: RequestOptions) => Promise<{
seatsAdded: number;
venueLayout?: unknown;
}>;
deleteSeat: (layoutId: string, areaId: string, seatId: string, requestOptions?: RequestOptions) => Promise<{
success: boolean;
venueLayout?: unknown;
}>;
generateSeats: (layoutId: string, areaId: string, request: {
categoryId?: string;
endRow: string;
rowPrefix?: string;
seatPrefix?: string;
seatsPerRow: number;
section?: string;
skipRows?: string[];
skipSeats?: string[];
startRow: string;
}, requestOptions?: RequestOptions) => Promise<{
seats: {
attributes?: ...[];
categoryId?: string;
companionSeats?: ...[];
companionTo?: string;
holdType?: string;
id: string;
internalNotes?: string;
label: string;
number: string;
position?: {
rotation?: ...;
x: ...;
y: ...;
};
publicNotes?: string;
row: string;
section?: string;
status: "removed" | "available" | "blocked" | "accessible" | "held";
}[];
seatsGenerated: number;
venueLayout?: unknown;
}>;
syncSeats: (layoutId: string, areaId: string, request: {
clearExisting?: boolean;
seats: {
attributes?: (... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ...)[];
categoryId?: string;
companionSeats?: string[];
companionTo?: string;
holdType?: string;
id?: string;
internalNotes?: string;
label?: string;
number: string;
position?: {
rotation?: ... | ...;
x: number;
y: number;
};
publicNotes?: string;
row: string;
section?: string;
status?: "removed" | "available" | "blocked" | "accessible" | "held";
}[];
}, requestOptions?: RequestOptions) => Promise<{
seats: {
attributes?: ...[];
categoryId?: string;
companionSeats?: ...[];
companionTo?: string;
holdType?: string;
id: string;
internalNotes?: string;
label: string;
number: string;
position?: {
rotation?: ...;
x: ...;
y: ...;
};
publicNotes?: string;
row: string;
section?: string;
status: "removed" | "available" | "blocked" | "accessible" | "held";
}[];
seatsSynced: number;
venueLayout?: unknown;
}>;
updateSeat: (layoutId: string, areaId: string, seatId: string, request: {
attributes?: (
| "center"
| "accessible"
| "wheelchair_space"
| "companion_seat"
| "restricted_view"
| "aisle_left"
| "aisle_right"
| "easy_access"
| "obstructed_view"
| "excellent_view"
| "stage_view"
| "extra_legroom"
| "premium_comfort"
| "front_row"
| "back_row")[];
categoryId?: string;
companionSeats?: string[];
companionTo?: string;
holdType?: string;
internalNotes?: string;
label?: string;
number?: string;
position?: {
rotation?: number;
x: number;
y: number;
};
publicNotes?: string;
row?: string;
section?: string;
status?: "removed" | "available" | "blocked" | "accessible" | "held";
}, requestOptions?: RequestOptions) => Promise<{
seat: {
attributes?: string[];
categoryId?: string;
companionSeats?: string[];
companionTo?: string;
holdType?: string;
id: string;
internalNotes?: string;
label: string;
number: string;
position?: {
rotation?: ... | ...;
x: number;
y: number;
};
publicNotes?: string;
row: string;
section?: string;
status: "removed" | "available" | "blocked" | "accessible" | "held";
};
venueLayout?: unknown;
}>;
};
venueplans: {
archive: (planId: string, requestOptions?: RequestOptions) => Promise<{
accountId: string;
createdAt: string;
createdBy: string | null;
description: string | null;
id: string;
liveVersionId: string | null;
name: string;
status: "active" | "archived";
updatedAt: string;
venueId: string;
}>;
create: (request: {
description?: any;
name: string;
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
createdAt: string;
createdBy: string | null;
description: string | null;
id: string;
liveVersionId: string | null;
name: string;
status: "active" | "archived";
updatedAt: string;
venueId: string;
}>;
get: (planId: string, requestOptions?: RequestOptions) => Promise<{
accountId: string;
createdAt: string;
createdBy: string | null;
description: string | null;
id: string;
liveVersionId: string | null;
name: string;
status: "active" | "archived";
updatedAt: string;
venueId: string;
}>;
list: (options?: {
includeArchived?: "true" | "false";
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
createdAt: string;
createdBy: string | null;
description: string | null;
id: string;
liveVersionId: string | null;
name: string;
status: "active" | "archived";
updatedAt: string;
venueId: string;
}[]>;
update: (planId: string, request: {
description?: any;
name?: string;
status?: "active" | "archived";
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
createdAt: string;
createdBy: string | null;
description: string | null;
id: string;
liveVersionId: string | null;
name: string;
status: "active" | "archived";
updatedAt: string;
venueId: string;
}>;
};
venueplanversions: {
create: (planId: string, request: {
copyFrom?: string;
notes?: any;
structure?: {
areas?: ... & ...[];
attributes?: string[];
capacity?: number;
decorations?: {
[key: ...]: ...;
}[];
floors?: ... & ...[];
frame?: {
extent?: ...;
metresPerUnit?: ...;
stage?: ...;
units?: ...;
} & {
[key: ...]: ...;
};
model?: | {
reference: string;
}
| null;
ranking?: | {
[key: string]: unknown;
}
| null;
sections: {
areaId?: ...;
id: ...;
labelAt?: ...;
name: ...;
outline?: ...;
} & {
[key: ...]: ...;
}[];
underlay?: | {
assetId: string;
opacity?: ... | ...;
rotation?: ... | ...;
width?: ... | ...;
x?: ... | ...;
y?: ... | ...;
}
| null;
venue?: {
kind?: ... | ...;
name?: ... | ...;
};
viewsPublic?: boolean;
zones?: ... & ...[];
};
}, requestOptions?: RequestOptions) => Promise<{
seats?: {
attributes: number[];
index: number[];
label: string[];
number: string[];
rotation: number[];
row: string[];
seatId: string[];
section: string[];
x: number[];
y: number[];
zone: (... | ...)[];
};
version: {
accountId: string;
contentHash: string | null;
createdAt: string;
id: string;
isLive: boolean;
liveAt: string | null;
liveBy: string | null;
notes: string | null;
publishedAt: string | null;
publishedBy: string | null;
seatCount: number;
status: "draft" | "published";
structure: {
areas?: ...[];
attributes?: ...[];
capacity?: number;
decorations?: ...[];
floors?: ...[];
frame?: ... & ...;
model?: | {
reference: ...;
}
| null;
ranking?: | {
[key: ...]: ...;
}
| null;
sections: ... & ...[];
underlay?: | {
assetId: ...;
opacity?: ...;
rotation?: ...;
width?: ...;
x?: ...;
y?: ...;
}
| null;
venue?: {
kind?: ...;
name?: ...;
};
viewsPublic?: boolean;
zones?: ...[];
};
updatedAt: string;
venueId: string;
venuePlanId: string;
version: number;
};
}>;
delete: (planId: string, versionId: string, requestOptions?: RequestOptions) => Promise<true>;
generateSeats: (planId: string, versionId: string, request: {
areas?: {
floor?: string;
id?: string;
name: string;
}[];
capacity?: number;
floors?: {
elevation?: number;
id?: string;
name: string;
order?: number;
stage?: {
depth: ...;
width: ...;
x: ...;
y: ...;
};
}[];
mode: "replace" | "append";
sections: {
aisleWidth?: number;
area?: string;
capacity?: number;
curve?: number;
facing?: number;
firstNumber?: number;
floor?: string;
id?: string;
marks?: {
from?: ...;
mark: ...;
row?: ...;
rows?: ...;
to?: ...;
}[];
name: string;
numbering?: "ltr" | "rtl" | "oddeven";
numberStep?: number;
origin?: [number, number];
rows: {
aisleAfter?: ... | ...;
firstNumber?: ... | ...;
label: string;
numbering?: ... | ... | ... | ...;
numberStep?: ... | ...;
offset?: ... | ...;
points?: ... | ...;
radius?: ... | ...;
runs?: ... | ...;
seats: number;
seatSpacing?: ... | ...;
spaces?: ... | ...;
zone?: ... | ...;
}[];
rowSpacing?: number;
seatSpacing?: number;
zone?: string;
zones?: {
from?: ...;
row?: ...;
rows?: ...;
to?: ...;
zone: ...;
}[];
}[];
sourceAssetId?: string;
zones?: {
color?: string;
id?: string;
name: string;
}[];
}, requestOptions?: RequestOptions) => Promise<{
seatCount: number;
sections: {
areaId: string;
capacity: number | null;
floorId: string;
id: string;
name: string;
rows: {
first: ...;
label: ...;
last: ...;
marks?: ...;
numbers: ...;
seats: ...;
spaces?: ...;
}[];
seatCount: number;
}[];
version: {
accountId: string;
contentHash: string | null;
createdAt: string;
id: string;
isLive: boolean;
liveAt: string | null;
liveBy: string | null;
notes: string | null;
publishedAt: string | null;
publishedBy: string | null;
seatCount: number;
status: "draft" | "published";
structure: {
areas?: ...[];
attributes?: ...[];
capacity?: number;
decorations?: ...[];
floors?: ...[];
frame?: ... & ...;
model?: | {
reference: ...;
}
| null;
ranking?: | {
[key: ...]: ...;
}
| null;
sections: ... & ...[];
underlay?: | {
assetId: ...;
opacity?: ...;
rotation?: ...;
width?: ...;
x?: ...;
y?: ...;
}
| null;
venue?: {
kind?: ...;
name?: ...;
};
viewsPublic?: boolean;
zones?: ...[];
};
updatedAt: string;
venueId: string;
venuePlanId: string;
version: number;
};
warnings: {
code: string;
message: string;
sectionId?: string;
}[];
written: number;
}>;
get: (planId: string, versionId: string, options?: {
include?: "seats";
}, requestOptions?: RequestOptions) => Promise<{
model: | {
anchors: {
label: ...;
point: ...;
seat: ...;
}[];
asset: | {
contentType: ...;
filename: ...;
id: ...;
name: ...;
sha256: ...;
sizeBytes: ...;
uploaded: ...;
}
| null;
updatedAt: string;
updatedBy: string | null;
}
| null;
pipeline: | {
error: | {
[key: ...]: ...;
}
| null;
fileCount: number | null;
files: ...[] | null;
mergedPlanVersion: string | null;
message: string | null;
modelAssetId: string | null;
planVersion: string;
progress: number | null;
registration: | {
error: ...;
uncertainty: ...;
}
| null;
reportedAt: string | null;
requestedAt: string;
runId: string | null;
seq: number;
state: "succeeded" | "failed" | "queued" | "running";
step: string | null;
steps: {
[key: ...]: ...;
}[];
venuePlanVersionId: string;
}
| null;
seats?: {
attributes: number[];
index: number[];
label: string[];
number: string[];
rotation: number[];
row: string[];
seatId: string[];
section: string[];
x: number[];
y: number[];
zone: (... | ...)[];
};
version: {
accountId: string;
contentHash: string | null;
createdAt: string;
id: string;
isLive: boolean;
liveAt: string | null;
liveBy: string | null;
notes: string | null;
publishedAt: string | null;
publishedBy: string | null;
seatCount: number;
status: "draft" | "published";
structure: {
areas?: ...[];
attributes?: ...[];
capacity?: number;
decorations?: ...[];
floors?: ...[];
frame?: ... & ...;
model?: | {
reference: ...;
}
| null;
ranking?: | {
[key: ...]: ...;
}
| null;
sections: ... & ...[];
underlay?: | {
assetId: ...;
opacity?: ...;
rotation?: ...;
width?: ...;
x?: ...;
y?: ...;
}
| null;
venue?: {
kind?: ...;
name?: ...;
};
viewsPublic?: boolean;
zones?: ...[];
};
updatedAt: string;
venueId: string;
venuePlanId: string;
version: number;
};
}>;
getRanking: (planId: string, versionId: string, requestOptions?: RequestOptions) => Promise<{
draft: | {
createdAt: string;
createdBy: string | null;
id: string;
inputs: {
categoryBias?: ... | ...;
defaultTier?: ... | ...;
geometryWeight?: ... | ...;
overrides?: ... | ...;
rowCurves?: ... | ...;
sectionWeights?: ... | ...;
sweetSpots?: ... | ...;
zones?: ... | ...;
};
inputsHash: string;
notes: string | null;
signedOffAt: string | null;
signedOffBy: string | null;
state: "draft" | "signed_off" | "superseded";
updatedAt: string;
venuePlanVersionId: string;
}
| null;
signedOff: | {
createdAt: string;
createdBy: string | null;
id: string;
inputs: {
categoryBias?: ... | ...;
defaultTier?: ... | ...;
geometryWeight?: ... | ...;
overrides?: ... | ...;
rowCurves?: ... | ...;
sectionWeights?: ... | ...;
sweetSpots?: ... | ...;
zones?: ... | ...;
};
inputsHash: string;
notes: string | null;
signedOffAt: string | null;
signedOffBy: string | null;
state: "draft" | "signed_off" | "superseded";
updatedAt: string;
venuePlanVersionId: string;
}
| null;
}>;
getSeatmap: (planId: string, versionId: string, requestOptions?: RequestOptions) => Promise<{
pipeline: | {
error: | {
[key: ...]: ...;
}
| null;
fileCount: number | null;
files: ...[] | null;
mergedPlanVersion: string | null;
message: string | null;
modelAssetId: string | null;
planVersion: string;
progress: number | null;
registration: | {
error: ...;
uncertainty: ...;
}
| null;
reportedAt: string | null;
requestedAt: string;
runId: string | null;
seq: number;
state: "succeeded" | "failed" | "queued" | "running";
step: string | null;
steps: {
[key: ...]: ...;
}[];
venuePlanVersionId: string;
}
| null;
publishes: {
hasModel: boolean;
hasStills: boolean;
hasViews: boolean;
overview: string;
planVersion: string;
publishedAt: string;
seatCount: number | null;
}[];
}>;
getSeats: (planId: string, versionId: string, requestOptions?: RequestOptions) => Promise<{
seatCount: number;
seats: {
attributes: number[];
index: number[];
label: string[];
number: string[];
rotation: number[];
row: string[];
seatId: string[];
section: string[];
x: number[];
y: number[];
zone: (number | null)[];
};
versionId: string;
}>;
importCsv: (planId: string, versionId: string, request: {
capacity?: number;
csv: string;
mode: "replace" | "append";
rowSpacing?: number;
seatSpacing?: number;
units?: "plan" | "metres";
}, requestOptions?: RequestOptions) => Promise<{
seatCount: number;
sections: {
areaId: string;
capacity: number | null;
floorId: string;
id: string;
name: string;
rows: {
first: ...;
label: ...;
last: ...;
marks?: ...;
numbers: ...;
seats: ...;
spaces?: ...;
}[];
seatCount: number;
}[];
version: {
accountId: string;
contentHash: string | null;
createdAt: string;
id: string;
isLive: boolean;
liveAt: string | null;
liveBy: string | null;
notes: string | null;
publishedAt: string | null;
publishedBy: string | null;
seatCount: number;
status: "draft" | "published";
structure: {
areas?: ...[];
attributes?: ...[];
capacity?: number;
decorations?: ...[];
floors?: ...[];
frame?: ... & ...;
model?: | {
reference: ...;
}
| null;
ranking?: | {
[key: ...]: ...;
}
| null;
sections: ... & ...[];
underlay?: | {
assetId: ...;
opacity?: ...;
rotation?: ...;
width?: ...;
x?: ...;
y?: ...;
}
| null;
venue?: {
kind?: ...;
name?: ...;
};
viewsPublic?: boolean;
zones?: ...[];
};
updatedAt: string;
venueId: string;
venuePlanId: string;
version: number;
};
warnings: {
code: string;
message: string;
sectionId?: string;
}[];
written: number;
}>;
list: (planId: string, requestOptions?: RequestOptions) => Promise<{
accountId: string;
contentHash: string | null;
createdAt: string;
id: string;
isLive: boolean;
liveAt: string | null;
liveBy: string | null;
notes: string | null;
publishedAt: string | null;
publishedBy: string | null;
seatCount: number;
status: "draft" | "published";
structure: {
areas?: ...[];
attributes?: ...[];
capacity?: number;
decorations?: ...[];
floors?: ...[];
frame?: ... & ...;
model?: | {
reference: ...;
}
| null;
ranking?: | {
[key: ...]: ...;
}
| null;
sections: ... & ...[];
underlay?: | {
assetId: ...;
opacity?: ...;
rotation?: ...;
width?: ...;
x?: ...;
y?: ...;
}
| null;
venue?: {
kind?: ...;
name?: ...;
};
viewsPublic?: boolean;
zones?: ...[];
};
updatedAt: string;
venueId: string;
venuePlanId: string;
version: number;
}[]>;
markLive: (planId: string, versionId: string, requestOptions?: RequestOptions) => Promise<{
seats?: {
attributes: number[];
index: number[];
label: string[];
number: string[];
rotation: number[];
row: string[];
seatId: string[];
section: string[];
x: number[];
y: number[];
zone: (... | ...)[];
};
version: {
accountId: string;
contentHash: string | null;
createdAt: string;
id: string;
isLive: boolean;
liveAt: string | null;
liveBy: string | null;
notes: string | null;
publishedAt: string | null;
publishedBy: string | null;
seatCount: number;
status: "draft" | "published";
structure: {
areas?: ...[];
attributes?: ...[];
capacity?: number;
decorations?: ...[];
floors?: ...[];
frame?: ... & ...;
model?: | {
reference: ...;
}
| null;
ranking?: | {
[key: ...]: ...;
}
| null;
sections: ... & ...[];
underlay?: | {
assetId: ...;
opacity?: ...;
rotation?: ...;
width?: ...;
x?: ...;
y?: ...;
}
| null;
venue?: {
kind?: ...;
name?: ...;
};
viewsPublic?: boolean;
zones?: ...[];
};
updatedAt: string;
venueId: string;
venuePlanId: string;
version: number;
};
}>;
publish: (planId: string, versionId: string, requestOptions?: RequestOptions) => Promise<{
seats?: {
attributes: number[];
index: number[];
label: string[];
number: string[];
rotation: number[];
row: string[];
seatId: string[];
section: string[];
x: number[];
y: number[];
zone: (... | ...)[];
};
version: {
accountId: string;
contentHash: string | null;
createdAt: string;
id: string;
isLive: boolean;
liveAt: string | null;
liveBy: string | null;
notes: string | null;
publishedAt: string | null;
publishedBy: string | null;
seatCount: number;
status: "draft" | "published";
structure: {
areas?: ...[];
attributes?: ...[];
capacity?: number;
decorations?: ...[];
floors?: ...[];
frame?: ... & ...;
model?: | {
reference: ...;
}
| null;
ranking?: | {
[key: ...]: ...;
}
| null;
sections: ... & ...[];
underlay?: | {
assetId: ...;
opacity?: ...;
rotation?: ...;
width?: ...;
x?: ...;
y?: ...;
}
| null;
venue?: {
kind?: ...;
name?: ...;
};
viewsPublic?: boolean;
zones?: ...[];
};
updatedAt: string;
venueId: string;
venuePlanId: string;
version: number;
};
}>;
publishSeatmap: (planId: string, versionId: string, requestOptions?: RequestOptions) => Promise<{
pipeline: | {
error: | {
[key: ...]: ...;
}
| null;
fileCount: number | null;
files: ...[] | null;
mergedPlanVersion: string | null;
message: string | null;
modelAssetId: string | null;
planVersion: string;
progress: number | null;
registration: | {
error: ...;
uncertainty: ...;
}
| null;
reportedAt: string | null;
requestedAt: string;
runId: string | null;
seq: number;
state: "succeeded" | "failed" | "queued" | "running";
step: string | null;
steps: {
[key: ...]: ...;
}[];
venuePlanVersionId: string;
}
| null;
publishes: {
hasModel: boolean;
hasStills: boolean;
hasViews: boolean;
overview: string;
planVersion: string;
publishedAt: string;
seatCount: number | null;
}[];
}>;
saveRankingDraft: (planId: string, versionId: string, request: {
inputs: {
categoryBias?: {
[key: string]: number;
};
defaultTier?: number;
geometryWeight?: number;
overrides?: {
[key: string]: {
lock?: ... | ... | ...;
neverAuto?: ... | ... | ...;
nudge?: ... | ...;
tiebreak?: ... | ...;
};
};
rowCurves?: {
points: ...[];
target: string;
}[];
sectionWeights?: {
[key: string]: number;
};
sweetSpots?: {
areas?: ... | ...;
centre: [..., ..., ...];
radius?: ... | ...;
weight?: ... | ...;
}[];
zones?: {
areas?: ... | ...;
delta?: ... | ...;
name?: ... | ...;
rows?: ... | ...;
seats?: ... | ...;
sections?: ... | ...;
tier?: ... | ...;
}[];
};
notes?: any;
}, requestOptions?: RequestOptions) => Promise<{
draft: | {
createdAt: string;
createdBy: string | null;
id: string;
inputs: {
categoryBias?: ... | ...;
defaultTier?: ... | ...;
geometryWeight?: ... | ...;
overrides?: ... | ...;
rowCurves?: ... | ...;
sectionWeights?: ... | ...;
sweetSpots?: ... | ...;
zones?: ... | ...;
};
inputsHash: string;
notes: string | null;
signedOffAt: string | null;
signedOffBy: string | null;
state: "draft" | "signed_off" | "superseded";
updatedAt: string;
venuePlanVersionId: string;
}
| null;
signedOff: | {
createdAt: string;
createdBy: string | null;
id: string;
inputs: {
categoryBias?: ... | ...;
defaultTier?: ... | ...;
geometryWeight?: ... | ...;
overrides?: ... | ...;
rowCurves?: ... | ...;
sectionWeights?: ... | ...;
sweetSpots?: ... | ...;
zones?: ... | ...;
};
inputsHash: string;
notes: string | null;
signedOffAt: string | null;
signedOffBy: string | null;
state: "draft" | "signed_off" | "superseded";
updatedAt: string;
venuePlanVersionId: string;
}
| null;
}>;
sendToPipeline: (planId: string, versionId: string, requestOptions?: RequestOptions) => Promise<any>;
setModel: (planId: string, versionId: string, request: {
anchors?: {
point: [number, number, number];
seat: number;
}[];
modelAssetId?: string | null;
}, requestOptions?: RequestOptions) => Promise<
| {
anchors: {
label: ... | ...;
point: [..., ..., ...];
seat: number;
}[];
asset: | {
contentType: string;
filename: ... | ...;
id: string;
name: ... | ...;
sha256: ... | ...;
sizeBytes: number;
uploaded: boolean;
}
| null;
updatedAt: string;
updatedBy: string | null;
}
| null>;
signOffRanking: (planId: string, versionId: string, requestOptions?: RequestOptions) => Promise<{
draft: | {
createdAt: string;
createdBy: string | null;
id: string;
inputs: {
categoryBias?: ... | ...;
defaultTier?: ... | ...;
geometryWeight?: ... | ...;
overrides?: ... | ...;
rowCurves?: ... | ...;
sectionWeights?: ... | ...;
sweetSpots?: ... | ...;
zones?: ... | ...;
};
inputsHash: string;
notes: string | null;
signedOffAt: string | null;
signedOffBy: string | null;
state: "draft" | "signed_off" | "superseded";
updatedAt: string;
venuePlanVersionId: string;
}
| null;
signedOff: | {
createdAt: string;
createdBy: string | null;
id: string;
inputs: {
categoryBias?: ... | ...;
defaultTier?: ... | ...;
geometryWeight?: ... | ...;
overrides?: ... | ...;
rowCurves?: ... | ...;
sectionWeights?: ... | ...;
sweetSpots?: ... | ...;
zones?: ... | ...;
};
inputsHash: string;
notes: string | null;
signedOffAt: string | null;
signedOffBy: string | null;
state: "draft" | "signed_off" | "superseded";
updatedAt: string;
venuePlanVersionId: string;
}
| null;
}>;
update: (planId: string, versionId: string, request: {
notes?: any;
structure?: {
areas?: ... & ...[];
attributes?: string[];
capacity?: number;
decorations?: {
[key: ...]: ...;
}[];
floors?: ... & ...[];
frame?: {
extent?: ...;
metresPerUnit?: ...;
stage?: ...;
units?: ...;
} & {
[key: ...]: ...;
};
model?: | {
reference: string;
}
| null;
ranking?: | {
[key: string]: unknown;
}
| null;
sections: {
areaId?: ...;
id: ...;
labelAt?: ...;
name: ...;
outline?: ...;
} & {
[key: ...]: ...;
}[];
underlay?: | {
assetId: string;
opacity?: ... | ...;
rotation?: ... | ...;
width?: ... | ...;
x?: ... | ...;
y?: ... | ...;
}
| null;
venue?: {
kind?: ... | ...;
name?: ... | ...;
};
viewsPublic?: boolean;
zones?: ... & ...[];
};
}, requestOptions?: RequestOptions) => Promise<{
seats?: {
attributes: number[];
index: number[];
label: string[];
number: string[];
rotation: number[];
row: string[];
seatId: string[];
section: string[];
x: number[];
y: number[];
zone: (... | ...)[];
};
version: {
accountId: string;
contentHash: string | null;
createdAt: string;
id: string;
isLive: boolean;
liveAt: string | null;
liveBy: string | null;
notes: string | null;
publishedAt: string | null;
publishedBy: string | null;
seatCount: number;
status: "draft" | "published";
structure: {
areas?: ...[];
attributes?: ...[];
capacity?: number;
decorations?: ...[];
floors?: ...[];
frame?: ... & ...;
model?: | {
reference: ...;
}
| null;
ranking?: | {
[key: ...]: ...;
}
| null;
sections: ... & ...[];
underlay?: | {
assetId: ...;
opacity?: ...;
rotation?: ...;
width?: ...;
x?: ...;
y?: ...;
}
| null;
venue?: {
kind?: ...;
name?: ...;
};
viewsPublic?: boolean;
zones?: ...[];
};
updatedAt: string;
venueId: string;
venuePlanId: string;
version: number;
};
}>;
upsertSeats: (planId: string, versionId: string, request: {
replace?: boolean;
seats: {
attributes?: number[];
index?: number[];
label?: string[];
number: string[];
rotation?: number[];
row: string[];
seatId?: string[];
section: string[];
x: number[];
y: number[];
zone?: (number | null)[];
};
}, requestOptions?: RequestOptions) => Promise<{
seats?: {
attributes: number[];
index: number[];
label: string[];
number: string[];
rotation: number[];
row: string[];
seatId: string[];
section: string[];
x: number[];
y: number[];
zone: (... | ...)[];
};
version: {
accountId: string;
contentHash: string | null;
createdAt: string;
id: string;
isLive: boolean;
liveAt: string | null;
liveBy: string | null;
notes: string | null;
publishedAt: string | null;
publishedBy: string | null;
seatCount: number;
status: "draft" | "published";
structure: {
areas?: ...[];
attributes?: ...[];
capacity?: number;
decorations?: ...[];
floors?: ...[];
frame?: ... & ...;
model?: | {
reference: ...;
}
| null;
ranking?: | {
[key: ...]: ...;
}
| null;
sections: ... & ...[];
underlay?: | {
assetId: ...;
opacity?: ...;
rotation?: ...;
width?: ...;
x?: ...;
y?: ...;
}
| null;
venue?: {
kind?: ...;
name?: ...;
};
viewsPublic?: boolean;
zones?: ...[];
};
updatedAt: string;
venueId: string;
venuePlanId: string;
version: number;
};
}>;
};
} & {
create: (request: {
accountId: string;
city?: string;
coordinates?: {
latitude: number;
longitude: number;
};
country?: string;
description?: string;
email?: string;
features?: string[];
name: string;
phone?: string;
status?: "active" | "archived";
streetAddress?: string;
tags?: string[];
timezone?: string;
website?: string;
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}>;
delete: (id: string, requestOptions?: RequestOptions) => Promise<{
id: string;
success: boolean;
}>;
get: (id: string, requestOptions?: RequestOptions) => Promise<{
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}>;
list: (options?: {
accountId?: string;
limit?: string;
page?: string;
search?: string;
status?: "active" | "archived";
}, requestOptions?: RequestOptions) => Promise<{
pagination: {
hasNext: boolean;
hasPrev: boolean;
limit: number;
page: number;
total: number;
totalPages: number;
};
venues: {
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}[];
}>;
update: (id: string, request: {
city?: string;
coordinates?: any;
country?: string;
description?: string;
email?: any;
features?: string[];
name?: string;
phone?: any;
status?: "active" | "archived";
streetAddress?: string;
tags?: string[];
timezone?: string;
website?: any;
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}>;
};Defined in: client.ts:3084
Venues methods Use venues() to access nested resources: venues(id).venuelayouts, venuelayoutareas, venuelayoutcategories, venuelayoutseats, venueplans, venueplanversions
Type Declaration#
create()#
create: (request: {
accountId: string;
city?: string;
coordinates?: {
latitude: number;
longitude: number;
};
country?: string;
description?: string;
email?: string;
features?: string[];
name: string;
phone?: string;
status?: "active" | "archived";
streetAddress?: string;
tags?: string[];
timezone?: string;
website?: string;
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}>;Create venue Create a new venue in the organisation
Parameters#
| Parameter | Type |
|---|---|
request | { accountId: string; city?: string; coordinates?: { latitude: number; longitude: number; }; country?: string; description?: string; email?: string; features?: string[]; name: string; phone?: string; status?: "active" | "archived"; streetAddress?: string; tags?: string[]; timezone?: string; website?: string; } |
request.accountId | string |
request.city? | string |
request.coordinates? | { latitude: number; longitude: number; } |
request.coordinates.latitude? | number |
request.coordinates.longitude? | number |
request.country? | string |
request.description? | string |
request.email? | string |
request.features? | string[] |
request.name? | string |
request.phone? | string |
request.status? | "active" | "archived" |
request.streetAddress? | string |
request.tags? | string[] |
request.timezone? | string |
request.website? | string |
requestOptions? | RequestOptions |
Returns#
Promise<{
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}>
Operation Id#
createVenue
delete()#
delete: (id: string, requestOptions?: RequestOptions) => Promise<{
id: string;
success: boolean;
}>;Delete venue Delete a venue (soft delete)
Parameters#
| Parameter | Type |
|---|---|
id | string |
requestOptions? | RequestOptions |
Returns#
Promise<{
id: string;
success: boolean;
}>
Operation Id#
deleteVenue
get()#
get: (id: string, requestOptions?: RequestOptions) => Promise<{
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}>;Get venue Get a specific venue by ID. The venue carries the fields the caller's access tiers reach: venues.read for its account shows every documented field, and venues.list alone shows its public fields.
Parameters#
| Parameter | Type |
|---|---|
id | string |
requestOptions? | RequestOptions |
Returns#
Promise<{
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}>
Operation Id#
getVenue
list()#
list: (options?: {
accountId?: string;
limit?: string;
page?: string;
search?: string;
status?: "active" | "archived";
}, requestOptions?: RequestOptions) => Promise<{
pagination: {
hasNext: boolean;
hasPrev: boolean;
limit: number;
page: number;
total: number;
totalPages: number;
};
venues: {
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}[];
}>;List venues List all venues for the organisation with optional filtering and pagination. Each venue carries the fields the caller's access tiers reach: venues.read for its account shows every documented field, and venues.list alone shows its public fields (id, name, description, address, coordinates, timezone, website, features) and not its account, status, contact details, tags or timestamps.
Parameters#
| Parameter | Type |
|---|---|
options? | { accountId?: string; limit?: string; page?: string; search?: string; status?: "active" | "archived"; } |
options.accountId? | string |
options.limit? | string |
options.page? | string |
options.search? | string |
options.status? | "active" | "archived" |
requestOptions? | RequestOptions |
Returns#
Promise<{
pagination: {
hasNext: boolean;
hasPrev: boolean;
limit: number;
page: number;
total: number;
totalPages: number;
};
venues: {
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}[];
}>
Operation Id#
listVenues
update()#
update: (id: string, request: {
city?: string;
coordinates?: any;
country?: string;
description?: string;
email?: any;
features?: string[];
name?: string;
phone?: any;
status?: "active" | "archived";
streetAddress?: string;
tags?: string[];
timezone?: string;
website?: any;
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}>;Update venue Update an existing venue
Parameters#
| Parameter | Type |
|---|---|
id | string |
request | { city?: string; coordinates?: any; country?: string; description?: string; email?: any; features?: string[]; name?: string; phone?: any; status?: "active" | "archived"; streetAddress?: string; tags?: string[]; timezone?: string; website?: any; } |
request.city? | string |
request.coordinates? | any |
request.country? | string |
request.description? | string |
request.email? | any |
request.features? | string[] |
request.name? | string |
request.phone? | any |
request.status? | "active" | "archived" |
request.streetAddress? | string |
request.tags? | string[] |
request.timezone? | string |
request.website? | any |
requestOptions? | RequestOptions |
Returns#
Promise<{
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}>
Operation Id#
updateVenue