4 · Production agentsAddress Checker

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

  1. Intake — Address arrives via API (from order creation or bulk upload).
  2. Normalize — Standardizes formatting, expands abbreviations, fixes common typos.
  3. Geocode — Uses Google Maps grounding (via Gemini 3.1 Pro) to resolve the address to coordinates.
  4. Score — Assigns a confidence score based on geocoding quality, field completeness, and historical data from Atlas.
  5. Enrich — For medium-confidence addresses, checks Atlas (Project Atlas) for prior resolutions of similar addresses.
  6. Customer contact — For low-confidence addresses, triggers a voice call or WhatsApp message to the customer for confirmation.
  7. 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:

TemplateTypeModelRole
address_intelligence_supervisor (ID 2016)sub_agentGemini 3.1 Pro PreviewResolves address quality issues with Google Maps grounding
address_intelligence_customer (ID 3007)voice_agentGemini 3 Flash PreviewCalls customers for address correction

Tools used

ToolWhat it does
register_atlas_orderRegister a consignment in Atlas for address tracking
update_atlas_statusSet resolution status on an Atlas address
update_atlas_scoreWrite confidence score + structured address to Atlas
update_consignment_addressBatch-update corrected addresses in ProjectX
send_whatsapp_message_toolSend address confirmation requests via WhatsApp

Tech stack

LayerWhat’s used
ModelsGemini 3.1 Pro Preview (supervisor — Google Maps grounding), Gemini 3 Flash Preview (customer voice)
MemoryShort-term: conversation context. Long-term: Atlas address resolution history.
Tools (MCP)Atlas registration/scoring, ProjectX address update, WhatsApp, voice call.
GuardrailsPII detection (addresses contain personal info). Content safety on customer interactions.
EvalsGeocoding accuracy benchmarks, address completeness scoring, customer contact success rate.

Why CS folks should study this

  1. Universal pain point. Every LSP has address quality problems. This is the agent you pitch first alongside WISMO.
  2. Atlas is the flywheel. Every resolved address improves future resolution — the system gets smarter over time.
  3. 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

Changelog

  • 26 May 2026: Full content from GitHub repo analysis (agent templates, tools) and Drive decks.