The Heat Map API calculates per-day operational load for a date range by counting check-ins, check-outs, and concurrent stays. Results are bucketed into intensity levels using configurable thresholds. Data can be sourced either from the connected PMS or from a manually uploaded XLSX file — useful when the PMS is not yet configured or when working with historical exports.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/sdurutr436/stay-sidekick/llms.txt
Use this file to discover all available pages before exploring further.
All endpoints require
Authorization: Bearer <token>. PUT requests also require the X-CSRF-Token header.GET /api/heatmap
Generates the heat map for a date range by fetching reservation data from the company’s configured PMS. Auth required: Yes | Role: anyThe company must have a PMS configured and a valid API key saved. If no PMS configuration exists the endpoint returns
400 with an error message.Query Parameters
Start date in
YYYY-MM-DD format (inclusive).End date in
YYYY-MM-DD format (inclusive). Must be equal to or later than desde.Response
true on success.One entry per calendar day in the requested range.
Example
POST /api/heatmap/xlsx
Generates the heat map for a date range from one or two uploaded XLSX files (check-ins, and optionally check-outs). No PMS connection is required. Auth required: Yes | Role: anyRate limit: 30 requests / hour
The check-in file is required. The check-out file is optional — if omitted, only check-in traffic is counted. The column positions used to read dates are configured via
GET /PUT /api/heatmap/config-xlsx.Request
Multipart form upload:XLSX file containing check-in data. Must have a
.xlsx extension and must not be empty.Optional XLSX file containing check-out data. Must have a
.xlsx extension if provided.Start date in
YYYY-MM-DD format.End date in
YYYY-MM-DD format. Must be equal to or later than desde.Response
trueSame day-by-day array as the PMS endpoint.
Optional. Row-level warnings for unparseable dates or skipped rows.
Example
GET /api/heatmap/umbrales
Returns the current intensity threshold configuration for the company. If no custom thresholds have been set, system defaults are returned. Auth required: Yes | Role: anyResponse
trueThreshold configuration.
Example
PUT /api/heatmap/umbrales
Saves intensity threshold configuration for the company. Thresholds must be strictly ascending (nivel1 < nivel2 < nivel3).
Auth required: Yes | Role: admin
Request
Lower boundary. Integer between 1 and 9999.
Middle boundary. Must be greater than
nivel1. Integer between 1 and 9999.Upper boundary. Must be greater than
nivel2. Integer between 1 and 9999.Response
trueThe saved threshold object.
Example
GET /api/heatmap/config-xlsx
Returns the XLSX column mapping used when parsing uploaded heat map files. Column letters correspond to Excel column headers (e.g.,A, B, AA).
Auth required: Yes | Role: any
Response
trueColumn mapping configuration.
Example
PUT /api/heatmap/config-xlsx
Saves the XLSX column mapping for the heat map parser. Only admins can change this setting. Auth required: Yes | Role: adminRequest
Excel column letter for the check-in date column. Must be an alphabetic Excel column reference (e.g.,
A, B, AA). Max 3 characters.Excel column letter for the check-out date column. Pass
null to clear. Max 3 characters.Response
trueThe saved column mapping.

