Flexible office prices (CoworkingView) is a dashboard widget. It shows median flexible office prices for one city, the 25th and 75th percentiles, the sample size, and how many workspaces are listed there.

The widget loads external data from https://api.coworkingview.com. The Matomo server calls that public API when someone views a dashboard that contains the widget. No API key is required. The only value taken from Matomo settings is the city a superuser or the current user chose. Each request also sends a fixed locale=en, because the API rejects a call that omits the locale, and pageSize=1 on the workspace request, so the widget can read the catalogue total. No visitor data is sent: no visitor id, no user id, no page URL, and no analytics payload. The browser does not call the API. The plugin loads no external script and no external image.

A successful response is cached on the Matomo server for about 12 hours. A failed request is not cached, so the next view tries again.

Features

  • One dashboard widget, Flexible office prices (CoworkingView)
  • A system default city and a personal override. The default is berlin
  • Median, 25th percentile, 75th percentile, sample size, and a workspace count
  • Server-side cache of about 12 hours, and an error state when the API cannot be reached
  • English translations. No tracking code

How it works

Activate the plugin, then add the widget from Dashboard > Add a widget > CoworkingView. A superuser sets the default city in Administration > System > General settings. Each user can set another city in Personal > Settings. Leave the personal value empty to keep the system city.

What is sent

Request Query GET https://api.coworkingview.com/v1/market/rates city (the chosen slug) and locale=en GET https://api.coworkingview.com/v1/properties city, locale=en, and pageSize=1

Nothing else is sent. Data by CoworkingView links to https://coworkingview.com.

The Flexible office prices (CoworkingView) widget shows Price Index medians for one city on a Matomo dashboard, plus the number of workspaces listed for that city.

Installation

  1. Copy the CoworkingView folder to your Matomo plugins/ directory.
  2. Activate the plugin in Administration > Plugins.
  3. Add the widget from Dashboard > Add a widget > CoworkingView > Flexible office prices (CoworkingView).

The Matomo server must reach https://api.coworkingview.com over HTTPS.

Configuration

Settings are the city slug, for example berlin or madrid.

Setting Who edits it Default City Superuser, Administration > System > General settings, section CoworkingView berlin City Each user, Personal > Settings, section CoworkingView Empty, which means "use the system city"

The setting text states that this city is sent to api.coworkingview.com. No other Matomo value is sent.

What the widget shows

Rows come from GET /v1/market/rates?city=<city>&locale=en:

  • Each item in figures (or byType when figures is empty): product, median, 25th percentile, 75th percentile, and sample size, when those fields exist.
  • dayPass and meetingRoom when the city object includes them.

The workspace count is meta.pagination.total from GET /v1/properties?city=<city>&locale=en&pageSize=1. It is not the length of data, and it is not propertyCount on the rates payload.

The API does not send a unit. Rows from figures and byType are monthly. Day pass is per day. Meeting room is per hour. A statistic with no documented unit is left blank.

asOf and attribution are shown when the rates response includes them. Data by CoworkingView links to https://coworkingview.com.

Caching

A successful response is stored in Matomo's lazy cache for about 12 hours (43200 seconds). The cache key includes the plugin version and the city. Failures are not cached.

Data source

Figures are the public CoworkingView Price Index. The plugin does not store workspace names, photos, descriptions, or individual prices.

Does this plugin send data to external services?

Yes. The Matomo server calls https://api.coworkingview.com when a dashboard containing the widget is viewed.

The requests are:

  • GET /v1/market/rates?city=<city>&locale=en
  • GET /v1/properties?city=<city>&locale=en&pageSize=1

city is the slug from the system setting or, when a user has set one, from the personal setting. locale=en is fixed because the API returns HTTP 400 without it. pageSize=1 is sent so the workspace response is only the count in meta.pagination.total.

No API key is sent. No visitor id, user id, page URL, or analytics payload is sent. The browser does not call the API. The plugin does not load an external script or image.

Where do I set the city?

A superuser sets the default under Administration > System > General settings, section CoworkingView. The default is berlin.

Each user can set another city under Personal > Settings. Leave that value empty to use the system city.

How often is the data refreshed?

A successful response is cached for about 12 hours. The next dashboard view after that fetches again. A failed request is not cached.

What happens if the API is down?

The widget stays on the dashboard and says the prices or the workspace count could not be loaded. If the API returned a problem title or detail, that text is included. The next view tries again.

What do the columns mean?

The product name is optionType (or dayPass / meetingRoom). Median, 25th percentile, and 75th percentile are the amount and currency on those objects. Sample size is sampleSize. A dash means that field was not in the response.

The workspace line is meta.pagination.total. It is a different number from propertyCount on the rates payload.

Which Matomo versions are supported?

Matomo 5.x, from 5.0.0-b1 up to but not including 6.0.0-b1, on PHP 8.1 or newer.

Where does the link go?

Data by CoworkingView links to https://coworkingview.com.


Please share