Rate Card
rate_cardTurn a cost model into a customer-facing weight-banded price table. PREMIUM (license).
Prices each band at its upper bound so you never under-charge inside a band, then rounds up to a tidy increment. Typical input {"base_cost": 4.2, "cost_per_lb": 0.65, "bands_lb": [1, 2, 5, 10], "margin_pct": 25} returns {"bands": [{"up_to_lb": 1, "cost": 4.85, "price": 6.5}, ...], "over_top_band": "quote individually"}.
Use when publishing shipping prices customers pay. Not for the cut-off at which shipping becomes free — that is free_shipping_threshold. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "bands_lb must contain at least one upper bound"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bands_lb | Yes | Upper weight bound of each band in ascending order, e.g. [1, 2, 5, 10]. At least one band, each greater than 0. | |
| round_to | No | Increment to round each published price up to, e.g. 0.5 or 1. Default 0.5. | |
| base_cost | Yes | Fixed cost per shipment before weight, e.g. pick, pack and label. Must be greater than 0. | |
| margin_pct | No | Margin added on top of cost, e.g. 25 for 25%. Default 0. | |
| cost_per_lb | Yes | Marginal cost per pound. Use 0 for a flat rate card. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||