Pricing
A price is calculated from the pickup and dropoff coordinates, adjusted for cargo size.
curl -X POST https://api.govza.app/v1/delivery/quotes \ -H "Authorization: Bearer $GOVZA_KEY" \ -H "Content-Type: application/json" \ -d '{ "pickup": { "latitude": 43.342439, "longitude": 45.693597 }, "dropoffs": [{ "latitude": 43.320872, "longitude": 45.691756 }], "cargo_size": "M" }'{ "success": true, "data": { "quote_id": "…", "price": 300, "distance": 2400, "duration": 600, "expires_at": "2026-08-11T12:05:00.000Z", "dropoffs": [ { "route_id": "…", "distance": 2400, "duration": 600, "cargo_size": "M", "price": 300 } ] }}distance is in metres and duration in seconds.
The tariff table
Section titled “The tariff table”GET /pricing returns the distance bands every price is built from — the same
table the Govza app shows.
curl https://api.govza.app/v1/delivery/pricing \ -H "Authorization: Bearer $GOVZA_KEY"{ "success": true, "data": { "base_price": 200, "first_threshold_km": 3, "band_width_km": 2, "band_step": 50, "max_threshold_km": 15, "per_km_over": 35, "cargo_size_step_fee": 50, "bands": [ { "min_km": 0, "max_km": 3, "price": 200, "per_km_over": null }, { "min_km": 3, "max_km": 5, "price": 250, "per_km_over": null }, { "min_km": 5, "max_km": 7, "price": 300, "per_km_over": null }, { "min_km": 7, "max_km": 9, "price": 350, "per_km_over": null }, { "min_km": 9, "max_km": 11, "price": 400, "per_km_over": null }, { "min_km": 11, "max_km": 13, "price": 450, "per_km_over": null }, { "min_km": 13, "max_km": 15, "price": 500, "per_km_over": null }, { "min_km": 15, "max_km": null, "price": 550, "per_km_over": 35 } ] }}A distance belongs to a band when it is at least min_km and less than
max_km. The last band has max_km: null: beyond max_threshold_km the price
is the band’s price plus per_km_over for each kilometre started. The table
is the same for every account; render it in your interface or check a quote
against it, and price a concrete trip with POST /quotes.
Cargo size
Section titled “Cargo size”The cargo surcharge applies to each dropoff.
- a top-level
cargo_sizeapplies to every dropoff; - a dropoff may set its own
cargo_size, which takes precedence; - the default is
S.
Each dropoff’s price already includes its surcharge, and the quote’s price
is the sum of the dropoffs.
Several dropoffs
Section titled “Several dropoffs”routing_mode decides how the trip is routed:
sequential(default) — one chained trip through every dropoff in order;parallel— each dropoff is priced independently from the pickup.
How long a quote lasts
Section titled “How long a quote lasts”Five minutes. Pass quote_id to POST /orders to hold the price.