Get one meeting room (includes booking calendar)
Authorization
bearerAuth Access token from POST /auth/accessToken
In: header
Path Parameters
MongoDB ObjectId
Response Body
application/json
application/json
curl -X GET "https://example.com/meeting-rooms/string"{ "code": "KS000", "success": true, "message": "string", "data": { "_id": "string", "name": "string", "email": "string", "capacity": 0, "status": "active", "type": "normal", "brandId": "string", "projectId": "string", "zoneId": "string", "floorId": "string", "equipmentsAvailability": { "camera": true, "display": true, "mic": true, "projector": true, "speaker": true }, "pictureUrls": [ "string" ], "facilities": [ "string" ], "isPublic": true, "chargeRate": { "perHour": 0, "perDay": 0 }, "config": { "dayConfig": { "Mon": { "availableTime": { "start": "09:00:00", "end": "18:00:00" }, "breakTimes": [ { "start": "09:00:00", "end": "18:00:00" } ] }, "Tue": { "availableTime": { "start": "09:00:00", "end": "18:00:00" }, "breakTimes": [ { "start": "09:00:00", "end": "18:00:00" } ] }, "Wed": { "availableTime": { "start": "09:00:00", "end": "18:00:00" }, "breakTimes": [ { "start": "09:00:00", "end": "18:00:00" } ] }, "Thu": { "availableTime": { "start": "09:00:00", "end": "18:00:00" }, "breakTimes": [ { "start": "09:00:00", "end": "18:00:00" } ] }, "Fri": { "availableTime": { "start": "09:00:00", "end": "18:00:00" }, "breakTimes": [ { "start": "09:00:00", "end": "18:00:00" } ] }, "Sat": { "availableTime": { "start": "09:00:00", "end": "18:00:00" }, "breakTimes": [ { "start": "09:00:00", "end": "18:00:00" } ] }, "Sun": { "availableTime": { "start": "09:00:00", "end": "18:00:00" }, "breakTimes": [ { "start": "09:00:00", "end": "18:00:00" } ] } }, "start": "string", "end": "string", "minimumLeadTime": { "minutes": 0, "hours": 0, "days": 0 }, "maxAdvanceBookingDays": 0, "maxDurationMinutes": 0, "bookMultipleDayRoom": true, "meetingConfig": { "preStartMinutes": 0, "postStartWarnMinutes": 0, "postStartExpireMinutes": 0, "preEndMinutes": 0 } }, "unavailableReason": "OPERATING_HOURS", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "polygon": [ { "xPct": 0, "yPct": 0 } ], "cleanupMinutes": 0 }}List meeting rooms, optionally filtered to a free time window GET
Not paginated — returns the full filtered set (no meta). Pass startDateTime + endDateTime to get only rooms free to book for that window — a room whose cleaning time (cleanupMinutes) the window would run into is left out too; rooms free but not bookable for a configuration reason carry unavailableReason (OPERATING_HOURS or BREAK_TIME). Absence of unavailableReason means bookable.
List desks, optionally filtered to a free time window GET
Paginated (meta returned). Availability filter: startDateTime plus EXACTLY ONE of timePeriod (preset morning/afternoon/allDay window) or endDateTime (explicit window) — mirrors the POST /meetings desk time rules. Unlike meeting-room availability search, desks with a conflicting booking are removed from the result entirely (meta.total reflects the free count); there is no unavailableReason flag on desks — every desk returned is bookable for the window. A desk whose window would run into a booking's cleaning time (the property's default; see MeetingRoom.cleanupMinutes) is removed too.