Cvent Social Tables Layout Automation API
The Layout Automation API from Cvent Social Tables — 2 operation(s) for layout automation.
The Layout Automation API from Cvent Social Tables — 2 operation(s) for layout automation.
swagger: '2.0'
info:
title: Social Tables API Gateway Authentication Layout Automation API
version: 4.0.0
description: The Social Tables API
host: api.socialtables.com
basePath: /
tags:
- name: Layout Automation
paths:
/4.0/layout-automation:
post:
tags:
- Layout Automation
description: actively calculates layout and creates an event/space/diagram
consumes:
- application/json
produces:
- application/json
parameters:
- name: body
description: description event POST body used to create event etc
in: body
required: true
schema:
$ref: '#/definitions/CustomWizardPost-layout-automation-service'
responses:
'200':
description: full event created by the layout automation service
schema:
$ref: '#/definitions/PersistedAutomationPostResponse-layout-automation-service'
delete:
tags:
- Layout Automation
description: removes floor elements from previous automated and manual layouts
consumes:
- application/json
produces:
- application/json
parameters:
- name: spaces
description: a comma-separated list of space IDs to clear
in: query
required: true
type: string
- name: event
description: the ID of the event to clear
in: query
required: true
type: string
- name: hardDelete
description: flag to hard delete diagram/space
default: false
in: query
required: false
type: boolean
responses:
'204':
description: success
/4.0/layout-automation/custom-setup:
post:
tags:
- Layout Automation
description: actively calculates layout and creates an event/space/diagram using custom_setup defined from Home Team Setup Presets https://home-2018.socialtables.com/settings/team-setup-presets
consumes:
- application/json
produces:
- application/json
parameters:
- name: body
description: description event POST body used to create event etc
in: body
required: true
schema:
$ref: '#/definitions/CustomSetupPost-layout-automation-service'
responses:
'200':
description: full event created by the layout automation service
schema:
$ref: '#/definitions/PersistedAutomationPostResponse-layout-automation-service'
definitions:
CustomWizardPost-layout-automation-service:
required:
- category
- spaces
type: object
properties:
event_id:
type: number
uses_metric:
type: boolean
start_time:
format: date-time
type: string
end_time:
format: date-time
type: string
category:
type: string
name:
type: string
description: Required if no event_id is provided.
public:
type: boolean
attendee_management:
type: boolean
useSocialDistance:
type: boolean
spaces:
items:
$ref: '#/definitions/SpaceCustomWizard-layout-automation-service'
type: array
user_email:
type: string
team_id:
type: number
PositionString-layout-automation-service:
type: string
enum:
- center
- nw
- sw
- ne
- se
- n
- s
- e
- w
default: center
SpaceResult-layout-automation-service:
type: object
properties:
id:
type: integer
event_id:
type: integer
space_order:
type: integer
bookable_room:
type: string
venue_id:
type: string
name:
type: string
updated_at:
type: string
format: date-time
is_new:
type: boolean
diagram_id:
type: string
pdf_url:
type: string
warnings:
type: array
items:
type: object
properties:
message:
type: string
resolution:
type: string
errors:
type: array
items:
type: object
properties:
message:
type: string
resolution:
type: string
Aisle-layout-automation-service:
type: object
properties:
width:
type: number
default: 0
floorElementsBetween:
type: integer
default: 0
description: Number of floor elements that should be placed in a row or column before an aisle is placed.
PersistedAutomationPostResponse-layout-automation-service:
type: object
properties:
id:
type: integer
name:
type: string
user_id:
type: integer
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
is_a_sample:
type: integer
category:
type: string
is_public:
type: boolean
pricing_plan:
type: string
team_id:
type: integer
eventbrite_event_id:
type: string
eventbrite_access_token:
type: string
last_accessed:
type: string
format: date-time
logo:
type: string
floor_only:
type: integer
is_archived:
type: boolean
aim_only:
type: integer
start_time:
type: string
format: date-time
end_time:
type: string
format: date-time
mobile_col1:
type: integer
mobile_col2:
type: integer
event_url:
type: string
screenshot_url:
type: string
thumb_url:
type: string
forTraining:
type: boolean
uses_metric:
type: integer
collaborators_expire_at:
type: string
format: date-time
venue_mapper_version:
type: integer
uid:
type: string
cvent_rfp_id:
type: string
last_activity:
type: string
format: date-time
has_time:
type: boolean
status:
type: string
industry:
type: string
author:
$ref: '#/definitions/EventAuthor-layout-automation-service'
spaces:
type: array
items:
$ref: '#/definitions/SpaceResult-layout-automation-service'
message:
type: string
SpaceCustomWizard-layout-automation-service:
type: object
required:
- name
- attendees
properties:
id:
type: integer
attendees:
type: integer
maximum: 10000
wizard:
$ref: '#/definitions/TemplatedLayoutSpec-layout-automation-service'
description: One of 'wizard' or 'layoutSpec' must be provided.
layoutSpec:
$ref: '#/definitions/TemplatedLayoutSpec-layout-automation-service'
description: One of 'wizard' or 'layoutSpec' must be provided.
name:
type: string
external_event_id:
type: string
external_diagram_id:
type: string
venue_id:
type: string
custom_setup:
type: string
Table-layout-automation-service:
type: object
required:
- chairs
- size
- spacing
properties:
type:
type: string
enum:
- chair
- oval
- oval-table
- rectangle
- rectangle-table
- square
- square-table
- theatre
- circle
- circle-table
- crescent
- crescent-table
- half-circle-table
- high-boy
- serpentine
- serpentine-table
size:
type: object
properties:
width:
type: number
minimum: 0
length:
type: number
minimum: 0
radius:
type: number
minimum: 0
description: For round tables, radius is required. All other tables require length and width.
chairs:
type: integer
minimum: 0
position:
$ref: '#/definitions/PositionString-layout-automation-service'
spacing:
type: object
properties:
x:
type: number
default: 0
y:
type: number
default: 0
default:
x: 0
y: 0
cullAdditionalTables:
type: boolean
description: Whether to cull extraneous tables beyond the requested attendee count, if any. It has no bearing on whether tables that collide with existing objects should be culled.
placeEvenlyAcrossLayout:
type: boolean
description: Should the automator attempt to place tables evenly across the space? False will limit tables to the largest 'region of interest' within the room.
removeChairs:
type: integer
minimum: 0
description: The number of chairs to remove for crescent tables. Ignored for other floor elements.
rotateCrescentOffset:
type: number
description: The offset for where the missing chairs should be for crescent tables. Ignored for other floor elements.
SpaceCustomSetup-layout-automation-service:
type: object
required:
- name
- custom_setup
- attendees
properties:
id:
type: integer
name:
type: string
external_event_id:
type: string
external_diagram_id:
type: string
venue_id:
type: string
custom_setup:
type: string
attendees:
type: integer
maximum: 10000
TemplatedLayoutSpec-layout-automation-service:
type: object
properties:
setup:
type: string
enum:
- aligned
- classroom
- conference-table
- hollow
- hollow-square
- staggered
- theater
- theater-row
- theatre
- u-shape
default: aligned
attendees:
type: integer
minimum: 0
maximum: 10000
chairType:
type: string
enum:
- banquet
- chiavari
- ghost
chairs:
type: object
properties:
size:
type: object
properties:
length:
type: number
minimum: 0
width:
type: number
minimum: 0
rotation:
type: number
default: 0
description: The rotation relative to the viewport.
table:
$ref: '#/definitions/Table-layout-automation-service'
default:
chairs: 2
size:
width: 24
length: 12
radius: 20
spacing:
x: 0
y: 0
aisles:
type: object
properties:
horizontal:
$ref: '#/definitions/Aisle-layout-automation-service'
vertical:
$ref: '#/definitions/Aisle-layout-automation-service'
default:
width: 36
floorElementsBetween: 15
default:
horizontal: {}
vertical: {}
chevronAngle:
type: number
default: 0
ignore_doors_and_columns:
type: boolean
description: True and undefined result in skipping collision checks with permanentObjects
best_effort_capacity:
type: boolean
description: Whether a failure to seat all attendees is acceptable. False will throw a fatal error if not all attendees can be seated. True will seat the max possible and add a ctx error message
errors_in_diagram:
type: boolean
default: true
description: Add error text to the diagram.
nudgeOnCollide:
type: boolean
description: 'On collision, nudge tables slightly to a nearby valid position if any exists. Note: This may slightly compromise a setup''s natural shape.'
updatedRects:
type: boolean
description: Uses an improved algorithm to detect bounding boxes in a floorplan. It usually results in larger valid areas being detected.
required:
- attendees
CustomSetupPost-layout-automation-service:
required:
- category
- spaces
type: object
properties:
event_id:
type: number
uses_metric:
type: boolean
start_time:
format: date-time
type: string
end_time:
format: date-time
type: string
category:
type: string
name:
type: string
description: Required if no event_id is provided.
public:
type: boolean
attendee_management:
type: boolean
useSocialDistance:
type: boolean
spaces:
items:
$ref: '#/definitions/SpaceCustomSetup-layout-automation-service'
type: array
user_email:
type: string
team_id:
type: number
EventAuthor-layout-automation-service:
type: object
properties:
id:
type: integer
first_name:
type: string
last_name:
type: string
email_address:
type: string
securityDefinitions:
oauth2:
type: oauth2
description: OAuth
tokenUrl: https://auth.socialtables.com/oauth/token
authorizationUrl: https://auth.socialtables.com/oauth/authorize
flow: accessCode
scopes:
authenticated: any authentication whatsoever
create:oauth_client: oauth client create
userdata: All of the things.
user_token:
type: apiKey
name: user_token
in: header
description: Social Tables User Token
partner_token:
type: apiKey
name: partner_token
in: header
description: Social Tables Partner Token