MapScale for food delivery and quick commerce

The ETA is the product.

At 30 minutes, an address error is not a redelivery. It is a refund, a rider paid for nothing, and a customer who now believes the estimate is fiction.

What breaks

Quick commerce fails differently from parcel delivery: the cost lands before the order does. A pickup point that is metres wrong and minutes wrong, or a delivery zone drawn as a circle, prices itself into every order in the area.

Pickup points that are metres apart are minutes apart

A stall inside a fresh market, a unit on the fourth floor of a mall, a kitchen behind a shophouse — all resolve to roughly the same coordinate, and none of them is reachable the same way.

A radius is not a delivery zone

A 3 km circle over Bangkok includes addresses across an expressway, a canal or a rail line that are 25 minutes away by road, and excludes ones 4 km out on a clear arterial.

Dispatch is a many-to-many question

Choosing between eleven available riders is not eleven route calls. Asked one at a time it is eleven times the latency, and the answer is stale before the last one returns.

What it costs

Two of these are already on the ops dashboard. The third is whatever finance books against a late order.

orders per month × late or failed delivery rate × cost of a refund, credit or re-send

Put your own numbers in the calculator

The endpoints you would use

POST/v1/matrix

Every rider against every order in one call, so dispatch decides on current travel times.

GET/v1/isochrone

A merchant's real serviceable area as a drive-time polygon you can store and test a point against.

POST/v1/route

The chosen rider's actual path, for the ETA the customer sees and the tracking map.

GET/v1/autocomplete

Address entry that lands the first time, because at this speed a correction is a cancellation.

A request you can run

A matrix across riders and orders, then a 15-minute isochrone for the merchant's true delivery zone.

# Which of these riders is actually closest to the order — by road, not by
# straight line. One call, every pair, durations in seconds.
curl -X POST -H "X-MapScale-Key: $MAPSCALE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sources":[[100.5018,13.7563],[100.5231,13.7367]],"targets":[[100.5348,13.7466]],"profile":"driving"}' \
  "https://api.mapscale.io/v1/matrix"

# The merchant's real delivery zone: everywhere reachable in 15 minutes,
# as a polygon you can store and test a point against.
curl -H "X-MapScale-Key: $MAPSCALE_API_KEY" \
  "https://api.mapscale.io/v1/isochrone?point=100.5348,13.7466&contours=15&profile=driving"

What we can actually claim

Isochrones and matrices come from the same Valhalla routing engine as the directions demo on the homepage — drag the pins there to see the road network it is reading.

Bring us your data.

A 30-minute review against your own addresses — not a demo dataset. You will see the failure rate before you see a price.