Weather

Weather, sunrise/sunset, marine, and snow for the stay window.

Four endpoints that answer “what will the elements be doing while my guests are here?” All four share the same argument shape — ?lat=..&lng=..&start=YYYY-MM-DD&end=YYYY-MM-DD — so you can request them in parallel and render whichever apply.

Endpoints

Example: compose all four in parallel

const params = new URLSearchParams({ lat, lng, start, end }).toString();
const [weather, astronomy, marine, snow] = await Promise.all([
fetch(`/v1/pulse/weather?${params}`, { headers }).then(r => r.json()),
fetch(`/v1/pulse/astronomy?${params}`, { headers }).then(r => r.json()),
fetch(`/v1/pulse/marine?${params}`, { headers }).then(r => r.json()),
fetch(`/v1/pulse/snow?${params}`, { headers }).then(r => r.json()),
]);
const applicable = [weather, astronomy, marine, snow].filter(s => s.applicable);

Data sources

All four are sourced from a public weather data provider under CC BY 4.0. See Attribution for the full source list.