Room booking and calendar integration turns meeting rooms into smart spaces with real-time availability panels. SpinetiX players connect to Microsoft Exchange/Office 365, Google Calendar, and ICS feeds to display room status (available/occupied), current meeting details, and upcoming schedule. Mounted outside each room, these displays eliminate double-bookings, ghost meetings, and the frustration of wandering floor-to-floor looking for an available room.
Integration Architecture
Microsoft Exchange / Office 365
SpinetiX players connect to Exchange via Exchange Web Services (EWS) or Microsoft Graph API. For secure access, route requests through SpinetiX HUB — HUB handles OAuth 2.0 authentication with Azure AD, fetches calendar data, and serves it to players as JSON. Each meeting room has a resource mailbox; the player monitors that mailbox's calendar.
Google Calendar
Google Calendar integration uses the Google Calendar API with service account authentication. HUB acts as the API client, authenticating with Google and fetching room calendar data. Players receive clean JSON with meeting times, organizers, and subjects.
ICS / iCal Feeds
Any calendar system that exports ICS feeds (Outlook, iCloud, Zimbra, etc.) can integrate directly. SpinetiX players fetch the ICS URL at configurable intervals and parse the events. This is the simplest integration — no middleware needed — but read-only (no ad-hoc booking).
Display Patterns
| Display Type | Location | Content | Interaction |
|---|---|---|---|
| Room panel | Outside each room | Status, current/next meeting | Touch: book / extend |
| Floor overview | Lift lobby / corridor | All rooms on floor, status map | View only |
| Lobby directory | Building reception | All rooms, availability search | Touch: search / navigate |
| Desk booking | Hot-desk areas | Available desks, book for today | Touch / NFC tap |
Key Parameters
| Parameter | Value | Why It Matters |
|---|---|---|
| Calendar systems | Exchange, O365, Google, ICS | Covers all major enterprise calendars |
| Auth method | OAuth 2.0 via HUB | Secure, token-based access |
| Refresh interval | 1–5 minutes | Near-real-time status updates |
| Display size | 10–13" per room, 43–55" floor | Proportionate to use case |
| Ad-hoc booking | Touch + API write via HUB | Book available rooms on the spot |
Common Mistakes
- Credentials on the player. Storing Exchange passwords or Google API keys directly on the player is a security risk. Use HUB as a proxy — HUB authenticates securely, players fetch data through HUB without seeing credentials.
- No ghost meeting handling. Rooms booked but never occupied are "ghost meetings." Display a "Check In" prompt requiring the organizer to confirm presence within 10 minutes — if no check-in, release the room as available.
- Wrong room resource mailbox. Connecting a panel to the wrong Exchange resource mailbox shows the wrong room's schedule. Triple-check mailbox-to-room mapping during deployment.
- No fallback for API failures. If the Exchange API is unreachable, don't show a blank screen. Display "Room information temporarily unavailable" with the last known schedule and a timestamp.