The buyer map gives coffee producers a geographic overview of where they can sell their harvest. Every approved buyer in the system appears as a pin on a Mapbox map, enriched with the buyer’s most recent posted price, business hours, and service offerings. Because CoffePrice protects buyer contact information from the general public, exact addresses and phone numbers are hidden — only the company name, municipality zone, and commercial data are shown.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/JaiderT/CoffeePrice/llms.txt
Use this file to discover all available pages before exploring further.
Supported Municipalities
The map covers the coffee-growing municipalities of southern Huila. Buyers outside this list fall back to the El Pital center coordinates.Northern Zone
- El Pital (2.266205°N, -75.805401°W)
- La Argentina (2.1962°N, -75.9805°W)
- Tarqui (2.1107°N, -75.8238°W)
- Elías (2.0131°N, -75.9395°W)
Southern Zone
- Pitalito (1.8537°N, -76.0517°W)
- Acevedo (1.8043°N, -75.8893°W)
- Suaza (1.9767°N, -75.7947°W)
- Palestina (1.7238°N, -76.1347°W)
- Saladoblanco (1.9933°N, -76.0457°W)
- Isnos (1.927°N, -76.2148°W)
How Coordinates Work
No GPS data is collected from buyers. Instead, CoffePrice uses a deterministic approximate offset algorithm to place each buyer near their municipality center without revealing an exact address:- Deterministic: the same buyer always gets the same pin location (based on company name + address hash).
- Bounded offset: maximum ±0.009° in each axis (~1 km), keeping pins visibly within the correct municipality zone.
- No reverse-lookup possible: the hash is one-way; the original address cannot be recovered from coordinates.
coordenadasEstimadas: trueis always returned in the API response so clients can display an appropriate disclaimer.
Privacy Model
CoffePrice applies a tiered visibility model for buyer details:- Public / Producer view
- Admin / Owner view
- Company name, municipality zone, type of business, hours, description, services, reference price, and coffee type are all visible.
direccion→nulltelefono→nullcontactoRestringido: trueis set to signal the frontend to show a “contact restricted” badge.- Exact GPS coordinates are never stored or returned — only the approximate offset values above.
What’s Shown on the Map
The/mapa endpoint returns a sanitized array where each element contains:
| Field | Type | Description |
|---|---|---|
_id | string | Buyer MongoDB ID |
nombreempresa | string | Company name |
tipoempresa | string | Business type (e.g. "cooperativa", "independiente") |
municipio | string | Municipality name |
ubicacionGeneral | string | Human-readable zone label (e.g. "Zona de Pitalito") |
horarioApertura | string | Opening time |
horarioCierre | string | Closing time |
descripcion | string | Business description |
servicios | array | List of offered services |
precioReferencia | number | Most recent preciocarga posted |
precioKgReferencia | number | Corresponding preciokg |
tipocafe | string | Coffee type for the reference price |
unidadPrecio | string | "carga" or "kg" |
latitud | number | Approximate latitude |
longitud | number | Approximate longitude |
coordenadasEstimadas | boolean | Always true — signals approximate placement |
contactoRestringido | boolean | Always true in public responses |
Approval Requirement
Only buyers withestadoRevision: "aprobado" (or legacy records without the estadoRevision field at all) appear on the map. The backend query is:
esCompradorAprobado) validates the associated user account is also active before including the buyer in the response.