get_demurrage_report
Demurrage and detention risk report: which containers are near or past their free days, the daily rates, and the projected cost. Call this when asked about demurrage risk or detention fees. Free days are resolved per shipment from the customer's own contract terms first, then the carrier's published tariff, then a cross-carrier benchmark — terms_source and confidence on each item say which was used, so an estimated tariff figure must be reported as estimated, not as their contract. Read the counters before drawing a conclusion: unassessable_containers are boxes whose free time could not be resolved at all (an empty item list alongside a non-zero count means "cannot assess", NEVER "no risk"), uncosted_containers are at risk with no daily rate on file (so total_at_risk_usd is a floor, not the exposure), and truncated: true means the fleet is larger than the report. Pass container_id to assess a single shipment: scope_container.verdict is one of at_risk / within_free_time / not_discharged / no_terms / no_destination / not_demurrage_eligible.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| container_id | No | Optional: scope to a single container ID. Omit for portfolio-wide report. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | False never appears here — failures arrive as tool errors. | |
| code | No | On an empty result: NOT_FOUND (no record after asking) or NO_EVENTS (record, nothing filed). | |
| data | No | ||
| result | Yes | "empty" means the query succeeded and there is nothing to report. | |
| message | No | On an empty result: what the emptiness means. |