Geo

Geo

Geocoding, place/route cache and pin maps. The only suite module that talks to Google Maps or OpenStreetMap.

Where to configure

Geo → Settings (module Settings) or Settings → General Settings → Geo. Same keys: Google Maps and/or OSM, plus provider order.

Not under Technical. Other apps (AI Engine, Chatboo) call geo.service; they will not ask for a second map key.

What it is

Shared geographic fabric, not a CRM map and not an AI skill. It owns the provider keys and the HTTP calls to Google / OSM. Other modules — AI Engine, EAM, fleet, a customer pack — call env['geo.service'] when this module is installed. They must not open those APIs themselves.

The map engine knows geometry: points, routes, star vs tour, tips and chips. It does not know who is a customer, what a calendar attendee is, or which partners have customer_rank. Those predicates belong in a glossary, a partners context or a skill. The map only receives rows that are already correct.

What it ships

  • geo.place — address to coordinates cache. Geocode once; reuse the pin. Bulk contact geocoding stays under the provider QPM (Google’s 3 000/min is the ceiling to respect).
  • geo.route — origin/destination route cache so a tour is not re-fetched every time the same pair is asked.
  • geo.map — shared Leaflet pin-map tokens. One map chrome for the suite; consumers do not embed a second Leaflet stack.
  • geo.service — public façade. Soft consumers call these methods only. Direct Google/OSM HTTP from another addon is a bug.
  • Provider order — Settings can prefer Google then OSM (auto) or the reverse. Keys stay in this module.

What it does not do

How to configure

  1. Install pns_base, then this module.
  2. Open Settings → Geo. Paste the Google Maps key and/or enable OSM. Pick provider order: Google then OSM (default) or OSM first.
  3. Geocode a sample contact (or run the contacts wizard with a delay) and confirm a pin appears. If nothing geocodes, the key or the quota is the first place to look — not Chatboo.
  4. Install AI Engine / Chatboo only if conversations should draw maps. They will call geo.service; they will not ask you for a second map key.

Family

ModuleWhereRole
pns_geo O14 and O19 This fabric: keys, cache, Leaflet, geo.service
pns_ai_mcp O14 and O19 Consumer. Asks Geo for places/maps; does not call Google/OSM
EAM / fleet / others When installed Same rule: façade only, never raw map HTTP

UI source in English. Layout: common/ plus OWL1 (O13–14) and OWL2 (O15–19+) stacks.

PATANEGRA Soft — Apache License 2.0 (OSI approved). See LICENSE.