Steelcase Bookings API
Manage conference room reservations including creating, retrieving, updating, and cancelling bookings.
Manage conference room reservations including creating, retrieving, updating, and cancelling bookings.
openapi: 3.1.0
info:
title: Steelcase RoomWizard Bookings 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: Bookings
description: Manage conference room reservations including creating, retrieving, updating, and cancelling bookings.
paths:
/get_bookings:
get:
operationId: getBookings
summary: Get Room Bookings
description: Retrieves a list of bookings for a specific room or date range. Returns meeting details including subject, organizer, start time, end time, and attendee count.
tags:
- Bookings
parameters:
- name: room_id
in: query
required: false
schema:
type: string
description: Filter bookings by room identifier.
- name: start_date
in: query
required: false
schema:
type: string
format: date
description: Start date for booking query (YYYY-MM-DD).
- name: end_date
in: query
required: false
schema:
type: string
format: date
description: End date for booking query (YYYY-MM-DD).
- name: include_cancelled
in: query
required: false
schema:
type: boolean
default: false
description: Whether to include cancelled bookings in the response.
responses:
'200':
description: List of room bookings
content:
application/json:
schema:
type: object
properties:
bookings:
type: array
items:
$ref: '#/components/schemas/Booking'
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/ServerError'
/create_booking:
post:
operationId: createBooking
summary: Create a Booking
description: Creates a new conference room booking for the specified room and time slot. The booking is synchronized with the connected calendaring system (Exchange, Office 365, or Google Calendar).
tags:
- Bookings
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BookingCreate'
responses:
'201':
description: Booking created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Booking'
'400':
$ref: '#/components/responses/BadRequest'
'409':
description: Room already booked for the requested time slot
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/cancel_booking:
post:
operationId: cancelBooking
summary: Cancel a Booking
description: Cancels an existing conference room booking. The cancellation is propagated to the connected calendaring system.
tags:
- Bookings
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- booking_id
properties:
booking_id:
type: string
description: The unique identifier of the booking to cancel.
reason:
type: string
description: Optional reason for cancellation.
responses:
'200':
description: Booking cancelled successfully
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
message:
type: string
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
Booking:
type: object
description: A conference room booking.
properties:
booking_id:
type: string
description: Unique identifier for the booking.
room_id:
type: string
description: ID of the booked room.
room_name:
type: string
description: Name of the booked room.
subject:
type: string
description: Meeting subject/title.
organizer:
type: string
description: Meeting organizer name or email.
start_time:
type: string
format: date-time
description: Meeting start time (ISO 8601).
end_time:
type: string
format: date-time
description: Meeting end time (ISO 8601).
attendee_count:
type: integer
description: Number of expected attendees.
status:
type: string
enum:
- confirmed
- cancelled
- in-progress
- completed
description: Current booking status.
calendar_source:
type: string
enum:
- exchange
- office365
- google
- local
description: The calendaring system this booking is synchronized with.
created_at:
type: string
format: date-time
description: Timestamp when the booking was created.
BookingCreate:
type: object
required:
- room_id
- subject
- start_time
- end_time
description: Request body for creating a new booking.
properties:
room_id:
type: string
description: ID of the room to book.
subject:
type: string
description: Meeting subject/title.
organizer:
type: string
description: Meeting organizer name or email.
start_time:
type: string
format: date-time
description: Meeting start time (ISO 8601).
end_time:
type: string
format: date-time
description: Meeting end time (ISO 8601).
attendee_count:
type: integer
minimum: 1
description: Number of expected attendees.
notes:
type: string
description: Optional meeting notes.
Error:
type: object
description: An error response.
properties:
error:
type: string
description: Error code.
message:
type: string
description: Human-readable error message.
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'
ServerError:
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
externalDocs:
description: Steelcase Tech Support
url: https://www.steelcase.com/techsupport/