BaseLocationPlan Status
Returns the occupancy of every placed object of a plan at a point in time.
GET/api/event/base_location_plan_status
Either plan or location has to be given. With location the response covers all plans of that location, which is what the floor tabs of the board view need.
Query parameters
planinteger | Id of the plan |
locationinteger | Id of the location, covers all its plans |
testTimestring (date-time) | Point in time to render, defaults to now. Seconds are dropped: the status is computed and cached per minute. |
horizonHoursinteger | How far ahead to look for the next booking |
anonymizedboolean | Drop names and booking titles |
Responses
200Occupancy per placed itemobject
Show fields (6)
plansarray<integer>test_timestring (date-time)horizon_hoursintegeranonymizedbooleantrue when names, participants, trainers and events were dropped
soon_threshold_minutesintegeritemsobjectmap of plan item id => status
Request
curl --request GET \
--url https://your-instance.iw-erp.de/api/event/base_location_plan_status \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/event/base_location_plan_status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/event/base_location_plan_status"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://your-instance.iw-erp.de/api/event/base_location_plan_status', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/event/base_location_plan_status"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/event/base_location_plan_status")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/event/base_location_plan_status"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with package:http (no controller in the iw_erp_api package)
import 'package:http/http.dart' as http;
final response = await http.get(
Uri.parse('https://your-instance.iw-erp.de/api/event/base_location_plan_status'),
headers: {'x-iw-jwt-token': '<TOKEN>'},
);
print(response.body);Response 200 application/json
{
"plans": [
1
],
"test_time": "2026-10-15T09:30:00+02:00",
"horizon_hours": 1,
"anonymized": true,
"soon_threshold_minutes": 1
}