Address Checker
At a glance
- Live at: DPD Polska, BDO, Qatar Post, multiple B2C LSPs
- Channels: API (primary), WhatsApp (for customer address correction)
- Languages: EN, PL, AR (locale-dependent)
- Owner: AI pod
- Key stat: Poor address quality causes 10-15% of failed first deliveries at most LSPs
The problem it solves
Bad addresses are the silent margin killer in last-mile delivery. A missing apartment number, a misspelled street, or an ambiguous landmark means the driver wastes time, the delivery fails, the customer calls CX, and the package gets re-attempted — all costing money.
Manual address validation doesn’t scale. A human can’t check thousands of addresses per hour, and rule-based validation misses the nuances of real-world addressing (especially in markets like India and the Middle East where addresses are informal).
How it works
Step by step
- Intake — Address arrives via API (from order creation or bulk upload).
- Normalize — Standardizes formatting, expands abbreviations, fixes common typos.
- Geocode — Uses Google Maps grounding (via Gemini 3.1 Pro) to resolve the address to coordinates.
- Score — Assigns a confidence score based on geocoding quality, field completeness, and historical data from Atlas.
- Enrich — For medium-confidence addresses, checks Atlas (Project Atlas) for prior resolutions of similar addresses.
- Customer contact — For low-confidence addresses, triggers a voice call or WhatsApp message to the customer for confirmation.
- Update — Writes the corrected, geocoded address back to the consignment via ProjectX API.
Agent templates in the codebase
The address checker uses two agent templates from data/agent/agents.json:
| Template | Type | Model | Role |
|---|---|---|---|
address_intelligence_supervisor (ID 2016) | sub_agent | Gemini 3.1 Pro Preview | Resolves address quality issues with Google Maps grounding |
address_intelligence_customer (ID 3007) | voice_agent | Gemini 3 Flash Preview | Calls customers for address correction |
Tools used
| Tool | What it does |
|---|---|
register_atlas_order | Register a consignment in Atlas for address tracking |
update_atlas_status | Set resolution status on an Atlas address |
update_atlas_score | Write confidence score + structured address to Atlas |
update_consignment_address | Batch-update corrected addresses in ProjectX |
send_whatsapp_message_tool | Send address confirmation requests via WhatsApp |
Tech stack
| Layer | What’s used |
|---|---|
| Models | Gemini 3.1 Pro Preview (supervisor — Google Maps grounding), Gemini 3 Flash Preview (customer voice) |
| Memory | Short-term: conversation context. Long-term: Atlas address resolution history. |
| Tools (MCP) | Atlas registration/scoring, ProjectX address update, WhatsApp, voice call. |
| Guardrails | PII detection (addresses contain personal info). Content safety on customer interactions. |
| Evals | Geocoding accuracy benchmarks, address completeness scoring, customer contact success rate. |
Why CS folks should study this
- Universal pain point. Every LSP has address quality problems. This is the agent you pitch first alongside WISMO.
- Atlas is the flywheel. Every resolved address improves future resolution — the system gets smarter over time.
- Qatar Post case. Qatar Post is using this specifically for address enhancement — it’s a standalone value proposition, not just a sub-component of delivery.
Sources
- agent-platform repo:
data/agent/agents.json— address_intelligence templates - Qatar Post: Agentic AI for Address Enhancement
- DPD Polska case study — address validation in action
- See Tools & MCP for the full tool registry
Changelog
- 26 May 2026: Full content from GitHub repo analysis (agent templates, tools) and Drive decks.