- Document ID
freightpulse- Version
- 1.0.0 · Revision: 1
- Provider
- FreightPulse
- Service
- freight rate-per-mile benchmarks, over HTTPS with an API key
- LastWagon component
- the market rate-per-mile comparison in the Driver Ledger's weekly review
- Status
- Draft record — NOT cleared for release. Prepared 2026-08-23. The provider's terms have not been obtained and no agreement is recorded. See § Blocking.
Blocking
No FreightPulse data may ship until this section is emptied. This docket exists to make that a decision somebody takes rather than something that happens.
- FREIGHTPULSE-TERMS — to be supplied — the provider's terms of service and data licence have not been obtained or read. Freight rate data is commercial, licensed data. Redistributing a licensed rate to drivers without a licence that permits it is not a formatting problem.
- FREIGHTPULSE-AGREEMENT — to be supplied — no account, contract, or written permission is on record.
- FREIGHTPULSE-ATTRIBUTION — to be supplied — the attribution wording the provider requires is unknown. The app carries a placeholder form (below); it is a guess at courtesy, not a satisfied obligation.
- FREIGHTPULSE-API-CONTRACT — to be supplied — the public API contract could not be verified from any reachable documentation. The proxy client is written defensively around an ASSUMED shape and is configurable so the real one can be supplied without a code change.
What that means in practice today: with FREIGHTPULSE_API_KEY unset — which is how every build stands — the proxy answers freight: { unavailable: "no_api_key" }, no rate is fetched, no rate is shown, and the weekly review's rate comparison is simply absent. Setting that key is the act that puts licensed third-party data in front of drivers, and it must not be done before the four items above are resolved.
What LastWagon would use
A per-equipment rate per mile (dry van, reefer, flatbed) with the date it applied to, fetched by the LastWagon proxy and cached server-side. Devices never call the provider: no driver identifier, no location, and no ledger figure reaches it, because the app has no path to it. See proxy/lib/market-freight.js.
The client validates hard and drops anything it cannot read: a non-finite value, a non-positive one, a rate above $100/mile, an equipment name it does not recognise, or a rate with no as-of date. If nothing validates, the answer is *unavailable*. A rate is never invented, interpolated, or re-dated — a driver prices loads against these numbers.
Attribution as carried today
A single constant (BenchmarkAttribution.FREIGHTPULSE in core/model/Benchmarks.kt), shown beside any freight comparison:
Freight data provided by FreightPulse
It is one string in one place so that replacing it with the provider's required form, once that is known, is a single edit and cannot leave a stale credit on some other screen.
Sources
- FREIGHTPULSE-DOCS-URL — to be supplied — no reachable public documentation was found when this was written.
- Retrieved: FREIGHTPULSE-RETRIEVAL-DATE — to be supplied