Steelcase Rooms API

Retrieve room information including availability, capacity, and equipment details.

OpenAPI Specification

steelcase-rooms-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Steelcase RoomWizard Bookings Rooms API
  description: The Steelcase RoomWizard API provides programmatic access to conference room scheduling and reservation management. Using HTTP GET and POST requests, developers can retrieve room bookings, create reservations, check room availability, and manage meeting information. The API supports integration with enterprise calendaring systems including Microsoft Exchange, Office 365, and Google Calendar via the RoomWizard connector. The API is hosted on the local network where the RoomWizard connector is installed.
  version: 1.0.0
  contact:
    name: Steelcase Tech Support
    url: https://www.steelcase.com/techsupport/
  termsOfService: https://www.steelcase.com/
servers:
- url: https://{host}:{port}/api
  description: RoomWizard Connector Server (local network)
  variables:
    host:
      default: roomwizard.local
      description: Hostname or IP address of the RoomWizard connector server.
    port:
      default: '443'
      description: Port of the RoomWizard connector server.
tags:
- name: Rooms
  description: Retrieve room information including availability, capacity, and equipment details.
paths:
  /get_availability:
    get:
      operationId: getRoomAvailability
      summary: Get Room Availability
      description: Retrieves the availability status of one or more rooms for a given time range, showing free/busy slots and current occupancy.
      tags:
      - Rooms
      parameters:
      - name: room_id
        in: query
        required: false
        schema:
          type: string
        description: Specific room ID to check. If omitted, returns all rooms.
      - name: start_time
        in: query
        required: true
        schema:
          type: string
          format: date-time
        description: Start of the availability window (ISO 8601 format).
      - name: end_time
        in: query
        required: true
        schema:
          type: string
          format: date-time
        description: End of the availability window (ISO 8601 format).
      responses:
        '200':
          description: Room availability data
          content:
            application/json:
              schema:
                type: object
                properties:
                  rooms:
                    type: array
                    items:
                      $ref: '#/components/schemas/RoomAvailability'
        '400':
          $ref: '#/components/responses/BadRequest'
  /get_rooms:
    get:
      operationId: listRooms
      summary: List Rooms
      description: Returns a list of all conference rooms managed by the RoomWizard system including room names, capacity, equipment, and location.
      tags:
      - Rooms
      parameters:
      - name: building
        in: query
        required: false
        schema:
          type: string
        description: Filter rooms by building name or ID.
      - name: floor
        in: query
        required: false
        schema:
          type: string
        description: Filter rooms by floor.
      - name: min_capacity
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
        description: Minimum room capacity required.
      responses:
        '200':
          description: List of rooms
          content:
            application/json:
              schema:
                type: object
                properties:
                  rooms:
                    type: array
                    items:
                      $ref: '#/components/schemas/Room'
  /get_room:
    get:
      operationId: getRoom
      summary: Get Room Details
      description: Returns detailed information about a specific RoomWizard-managed conference room including current status, capacity, and amenities.
      tags:
      - Rooms
      parameters:
      - name: room_id
        in: query
        required: true
        schema:
          type: string
        description: The unique identifier of the room.
      responses:
        '200':
          description: Room details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Room'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    RoomAvailability:
      type: object
      description: Availability information for a room during a time window.
      properties:
        room_id:
          type: string
          description: Room identifier.
        room_name:
          type: string
          description: Room name.
        is_available_now:
          type: boolean
          description: Whether the room is currently available.
        next_available:
          type: string
          format: date-time
          description: Next available time slot start.
        busy_slots:
          type: array
          items:
            type: object
            properties:
              start_time:
                type: string
                format: date-time
              end_time:
                type: string
                format: date-time
          description: List of busy time slots within the queried window.
    Error:
      type: object
      description: An error response.
      properties:
        error:
          type: string
          description: Error code.
        message:
          type: string
          description: Human-readable error message.
    Room:
      type: object
      description: A conference room managed by RoomWizard.
      properties:
        room_id:
          type: string
          description: Unique identifier for the room.
        name:
          type: string
          description: Room name.
        building:
          type: string
          description: Building where the room is located.
        floor:
          type: string
          description: Floor where the room is located.
        capacity:
          type: integer
          description: Maximum room capacity.
        is_available:
          type: boolean
          description: Whether the room is currently available.
        equipment:
          type: array
          items:
            type: string
          description: List of available equipment (e.g., projector, whiteboard, video conferencing).
        email_address:
          type: string
          format: email
          description: Room calendar email address for direct calendar invites.
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
externalDocs:
  description: Steelcase Tech Support
  url: https://www.steelcase.com/techsupport/