Resource offers connect volunteers who have something to contribute — a dump truck, tools, a spare room — with the relief effort. Unlike sites or work orders, an offer is not anchored to an exact location: “tengo una volqueta disponible” is a barrio-level fact, not a corner. The product reflects this by displaying offers as cards in the panel rather than as pins on the map; the barrio, or “Toda la ciudad” for city-wide offers, is the relevant geographic unit.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/astrxnomo/manizalesdepie/llms.txt
Use this file to discover all available pages before exploring further.
Resource types
| Type | Spanish Label |
|---|---|
dump_truck | Volqueta |
pickup | Carro |
tools | Herramienta |
warehouse | Bodega |
free_transport | Transporte |
machinery | Maquinaria |
home_stay | Hogar de paso |
other | Otro |
No exact pin
Resource offers are displayed as cards in the panel. They are never shown as pins on the map. The barrio (or “Toda la ciudad” for city-wide offers like free transport) sets thearea field.
When a barrio is selected, its centroid is stored as the location point in the database. This allows the neighborhood to be derived by the PostGIS trigger and for the offer to appear when a user filters by barrio — but the display never exposes a precise address, because “tengo una volqueta” does not have one.
An offer with no coordinate at all is also valid. longitude and latitude are nullable throughout; area (the free-text barrio name) is the primary geographic field.
ResourceOfferDTO fields
Unique identifier for the resource offer.
One of
dump_truck, pickup, tools, warehouse, free_transport, machinery, home_stay, other.Free-text description of what is being offered and any conditions, e.g. “Volqueta doble troque, disponible fines de semana. Tengo dos.”
Free-text barrio name or “Toda la ciudad”. The primary geographic field for display and filtering.
WGS-84 longitude of the barrio centroid, if one was resolved. Nullable — not all offers have a coordinate.
WGS-84 latitude of the barrio centroid, if one was resolved. Nullable for the same reason.
Barrio name derived by PostGIS from the coordinate, if one exists. Never written by the application.
Contact WhatsApp number. Required — without it, nobody can take the offer up.
When the offer was published. Displayed as “Publicado hace N horas” — not “Confirmado”, because this field carries no vouching, only recency.
When the offer expires. Default is one week from creation. Stale offers are demoted, not deleted.
The user ID of whoever created the offer, if they were signed in. Nullable — offers can be submitted anonymously.
Whether the offer is visible to the public. Only curators may toggle this.
Creating a resource offer
Anyone can propose a resource offer — no account required. Thewhatsapp field is required regardless of anonymity, because without it nobody can act on the offer.
One of
dump_truck, pickup, tools, warehouse, free_transport, machinery, home_stay, other.Description of the resource and any conditions. Between 5 and 500 characters.
Free-text barrio name or “Toda la ciudad”. Maximum 120 characters. Required — this is the geographic unit that matters for an offer. Examples: “Chipre”, “San José”, “Toda la ciudad”.
WGS-84 longitude of the barrio centroid. Must be between
-76.2 and -74.8 if provided. Optional — the barrio centroid may be resolved automatically from area rather than submitted directly.WGS-84 latitude of the barrio centroid. Must be between
4.6 and 5.6 if provided. Optional.Contact WhatsApp number. Digits only, 10–15 characters, with country code. Validation message: “Debe ser solo dígitos, con indicativo del país”. Required — the WhatsApp number is on the card, visible to everyone, so that someone can write directly to take the offer up.
Expiry
Like all perishable entities in the system, resource offers carryconfirmedAt and expiresAt. The default expiry is one week from creation. After that, the row is demoted in the panel (shown as stale) rather than deleted — stale rows are never removed, only deprioritized.
The freshness label on a resource offer card reads “Publicado” rather than “Confirmado”, because resource offers lost their confirmed_count column on August 15. confirmedAt here is the moment the offer went up, not when anybody vouched for it, and the label accurately describes that.
home_stay (Hogar de paso) was added as a resource type because the project deliberately excludes housing people in strangers’ homes as a platform-managed feature — there is no booking flow, no identity verification, and no liability framework that would make that safe at scale. But a neighbor who wants to offer a spare room to a displaced family can still do so through this entry. The distinction is that the offer surfaces through the community (direct WhatsApp contact) rather than through a platform-managed booking flow. The product does not intermediate that transaction; it only makes the offer visible.