Skip to main content
GET
/
en
/
bookings
/
fullCalendarEvents
{
  "id": "<string>",
  "title": "<string>",
  "start": "<string>",
  "end": "<string>",
  "allDay": true,
  "shortDescription": "<string>",
  "businessName": "<string>",
  "location": {},
  "venueAddress": {},
  "ticketsPage": {},
  "webAddress": {},
  "url": "<string>",
  "event": true,
  "editable": true,
  "ignoreTimezone": true,
  "resourceId": "<string>",
  "resourceName": "<string>",
  "400 Bad Request": {}
}

Get Events Calendar

Returns published events within a given date range formatted for the FullCalendar library. Used alongside booking slots in the portal’s calendar view to give customers a unified view of space bookings and events.
This endpoint uses the /en/ legacy route prefix rather than /api/public/. It does not support _shape field shaping.

Authentication

No authentication required.

Query Parameters

start
string
required
ISO 8601 UTC datetime for the start of the range. Example: 2026-03-01T00:00:00.000Z
end
string
required
ISO 8601 UTC datetime for the end of the range. Example: 2026-03-31T23:59:59.999Z

Response

Returns an EventsCalendar array — a flat list of EventsCalendarEvent objects, one per event that falls within the requested range.

EventsCalendarEvent Fields

id
string
required
Unique event identifier (stringified integer) compatible with FullCalendar’s id field.
title
string
required
Event display name shown on the calendar.
start
string
required
Event start datetime (ISO 8601).
end
string
required
Event end datetime (ISO 8601).
allDay
boolean
When true, the event is displayed as an all-day block in the calendar.
shortDescription
string
Brief summary displayed in the calendar event tooltip or popover.
businessName
string
Name of the coworking location that published the event.
location
string | null
Venue name or room identifier.
venueAddress
string | null
Full postal address of the event venue.
ticketsPage
string | null
External ticket purchase URL if the operator has set a custom tickets page.
webAddress
string | null
External event URL (e.g. a Zoom or Eventbrite link).
url
string
Portal-relative URL to the event detail page. Use this to navigate on calendar item click.
event
boolean
Always true — distinguishes event entries from booking entries when both are rendered in the same FullCalendar instance.
editable
boolean
Always false for event entries — events cannot be dragged or resized in the calendar.
ignoreTimezone
boolean
When true, FullCalendar should treat the start/end values as local times rather than converting from UTC.
resourceId
string
ID of the linked bookable resource, if the event is associated with a specific room or desk.
resourceName
string
Display name of the linked resource.

Examples

Fetch calendar events for March 2026

GET /en/bookings/fullCalendarEvents?start=2026-03-01T00:00:00.000Z&end=2026-03-31T23:59:59.999Z
[
  {
    "id": "412",
    "resourceId": "",
    "resourceName": "",
    "title": "Morning Yoga & Mindfulness",
    "shortDescription": "Start your week with a guided yoga session open to all levels.",
    "businessName": "Downtown Coworking Hub",
    "location": "Studio Room B",
    "venueAddress": null,
    "ticketsPage": null,
    "webAddress": null,
    "start": "2026-03-23T07:30:00",
    "end": "2026-03-23T08:15:00",
    "allDay": false,
    "editable": false,
    "ignoreTimezone": false,
    "event": true,
    "url": "/events/412"
  },
  {
    "id": "420",
    "resourceId": "15",
    "resourceName": "Main Conference Room",
    "title": "Startup Pitch Night",
    "shortDescription": "Watch 8 local startups pitch to a panel of investors.",
    "businessName": "Downtown Coworking Hub",
    "location": "Main Conference Room",
    "venueAddress": null,
    "ticketsPage": null,
    "webAddress": null,
    "start": "2026-03-28T18:00:00",
    "end": "2026-03-28T21:00:00",
    "allDay": false,
    "editable": false,
    "ignoreTimezone": false,
    "event": true,
    "url": "/events/420"
  }
]

TypeScript Integration

import endpoints from '@/api/endpoints'
import { EventsCalendar } from '@/types/endpoints/EventsCalendar'
import { useData } from '@/api/fetchData'
import { DateTime } from 'luxon'

const start = DateTime.now().startOf('month')
const end = DateTime.now().endOf('month')

const endpoint = endpoints.events.calendar(start, end)

const { resource: calendarEvents } = useData<EventsCalendar>(httpClient, endpoint.url)

Usage in Portal

ContextSource file
Bookings search / resource calendar (/bookings)src/views/public/bookings/useBookingsSearchData.tsx

Error Responses

400 Bad Request
error
start or end is missing or not a valid ISO 8601 datetime string.
MethodEndpointDescription
GET/api/public/eventsPaginated events list with full event metadata
GET/api/public/events/{id}Full detail for a specific event
GET/en/bookings/fullCalendarBookingsBookings in FullCalendar format (same calendar)