Spaces
Spaces in ZenCore are organized hierarchically: Organization → Space Groups → Meeting Spaces.
Space Groups
Logical grouping of meeting spaces, typically representing a physical location.
List Space Groups
GET /api/v1/space-groups?organization_id=org-123
Authorization: Bearer <jwt>
Create Space Group
POST /api/v1/space-groups
Authorization: Bearer <jwt>
Content-Type: application/json
{
"organization_id": "org-123",
"name": "Downtown Office - Floor 3",
"timezone": "America/New_York",
"address": "123 Main St, New York, NY 10001"
}
Meeting Spaces
Bookable units with capacity, pricing, and availability.
List Meeting Spaces
GET /api/v1/meeting-spaces?organization_id=org-123
Authorization: Bearer <jwt>
Get Meeting Space by Slug (Public)
GET /api/v1/meeting-spaces/by-slug/:slug
Create Meeting Space
POST /api/v1/meeting-spaces
Authorization: Bearer <jwt>
Content-Type: application/json
{
"space_group_id": "sg-456",
"name": "Conference Room A",
"slug": "conference-room-a",
"capacity": 8,
"description": "8-person conference room with AV equipment",
"amenities": ["projector", "whiteboard", "video_conferencing"],
"booking_increment": 30
}
Check Availability
GET /api/v1/meeting-spaces/:id/availability?date=2025-01-15
Authorization: Bearer <jwt>
Returns time slots with availability status, respecting business hours, existing bookings, and unavailability periods.
The v1 availability endpoint honors per-space booking_increment for single-space queries. Group endpoints align all member spaces to the smallest booking_increment in the group.
Next Steps
- Bookings — Create and manage bookings
- Pricing & Payments — Pricing rules and Stripe integration