Cvent Social Tables Layout Automation API

The Layout Automation API from Cvent Social Tables — 2 operation(s) for layout automation.

OpenAPI Specification

cvent-social-tables-layout-automation-api-openapi.yml Raw ↑
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