API reference
Last Day
Today's departure pressure and the late checkout price it recommends.
One read that answers a single operator question: how tight is today, and what should late checkout cost. Hotel Operator polls it for the Last Day strip on the Offers tab, and the GM Feed folds the same numbers into its own card. Everything is computed on read from stays, so there is nothing to refresh or invalidate.
GET /v1/last-day/summary
Departure pressure for the property's current day, with the band it falls in and the price that band carries.
Auth: unauthenticated in this build.
Request
GET /v1/last-day/summary
GET /v1/last-day/summary
No path params, no query params, no body.
Response
JSON
{
"departures_today": 1,
"arrivals_today": 1,
"pressure": 1,
"band": "medium",
"recommended_price_usd": 40,
"eligible_departing": 1
}
| Field | Type | Meaning |
|---|---|---|
departures_today | number | Live-origin stays departing today. |
arrivals_today | number | Live-origin stays arriving today. |
pressure | number | arrivals_today / departures_today, rounded to two decimals. Zero when nobody departs today. |
band | string | The first configured band whose max_pressure covers this pressure. In the Solara Cove config: low up to 0.5, medium up to 1.0, high above that. |
recommended_price_usd | number | The band's price. 25, 40, and 60 in the shipped config. |
eligible_departing | number | Departing stays that could actually receive a departing-today offer: recognized and consented. |
Counts compare date parts only, so a vendor-sourced date carrying a time suffix (2026-09-10 00:00:00) counts the same as a bare 2026-09-10. "Today" is the property's calendar day in America/Nassau, not UTC. See property-time.ts.
Errors
None. The route always returns 200. With no stays at all it returns zeros with the lowest band.
Notes
pressureis deliberately blunt: arrivals over departures, nothing else. There is no forecast and no model behind it.departures_todaycounts every departing stay.eligible_departingcounts only the subset an offer can legally reach, which is why the two differ on a normal day.- The band table and its prices live in
core/config/solara-cove.jsonunderlate_checkout_bands. Changing the config changes the recommendation with no code change. - The GM Feed shows this block only when the band is not
lowand no departing-today offer is already open. Sending that offer clears the card. Seegm-feed.ts.