Skip to content

Location

A location is a physical site. A building, a floor, a wing, a room, a parking lot. Like an organization, it's a logical grouping and can't be booked directly. For that you need a bookable. Locations group bookables by where they are.

Locations nest to model the real world. A building contains floors, a floor contains wings, a wing contains rooms, or whatever shape the user wants. Access rides the tree: a user with access to a building reaches every floor and room beneath it.

What sits at a location

ResourceWhat it is
BookablesThings placed at the site via location_id
Child locationsSub sites under this one
BookingsReservations on bookables at the location
CheckinsArrivals and departures on those bookings
ClaimsAccess grants on the location
TimeslotsScheduling windows applied to the location
ActionsServer side code bound to the location
AssetsFiles and images bound to the location
AuditsActivity history recorded at the location

Reading at the location level

The location endpoints can return just that location's resources, or walk the tree and return everything inside it. Pass ?inherits=true on any endpoint that supports it to roll up children. Default is the single location.

GET /location/{id}/bookable lists bookables placed at the location, or across the whole subtree with inherits=true.

GET /location/{id}/booking lists bookings on those bookables over the same scope.

GET /location/{id}/calendar expands recurrence over the same scope.

GET /location/{id}/available returns the total free time over the same scope.

Same composition as anywhere else, see Calendar and Availability.

API

See the Location tag for CRUD, child locations, placed bookables, the three views above, search, and bound assets, timeslots and actions.