Context
We recently merged the events integration on the AAIF website (staging). It
consumes the LF Events API and renders an events listing with map pins, country
flags, and event cards.
During the build we found several fields that our previous Sanity-backed model
had but the API doesn't return. We've worked around what we could, but a few
gaps are filled with curated/hardcoded data that won't scale as the event list
grows. This issue requests adding those fields upstream so we can drop the
workarounds.
Current API response (for reference)
{
"id": 278373,
"name": "Open Source Summit North America",
"start_date": "2026/05/18",
"end_date": "2026/05/20",
"location": {
"city": "Minneapolis",
"country": "United States",
"virtual": false
},
"url": "https://pr-1108-lfeventsci.pantheonsite.io/open-source-summit-north-america/",
"menu_background_color": "#325560",
"menu_gradient_color": "#003942",
"menu_dropdown_color": "#003942"
}
Requested additions (priority order)
1. Latitude / longitude — highest priority
- Needed for: map pins on the events map.
- Current workaround: a hand-curated
CITY_GEO lookup table keyed by city
name. Not sustainable — every new event in a new city requires a manual
code change, and city-name collisions/spelling are fragile.
- Ask: add
location.lat and location.lng (or a coordinates object).
Even city-centroid precision is fine; we only need it for the pin.
"location": {
"city": "Minneapolis",
"country": "United States",
"virtual": false,
"lat": 44.98,
"lng": -93.27
}
2. Event image
- Needed for: event cards and the listing hero.
- Current state: API returns only theme colors (
menu_background_color,
etc.); we fall back to a generic placeholder image for every event.
- Ask: add an
image (or banner / thumbnail) URL field.
3. Summary / description
- Needed for: card copy and previews.
- Current state: absent — cards have no descriptive text.
- Ask: add a short
summary (and/or description) field.
4. Venue name & address
- Needed for: event detail / location display beyond city + country.
- Current state: absent.
- Ask: add
location.venue_name and location.address.
5. Time-of-day on dates
- Needed for: showing start/end times, not just dates.
- Current state:
start_date / end_date are date-only (YYYY/MM/DD).
- Ask: include start/end times (ideally full ISO-8601 datetimes with
timezone), e.g. start_at: "2026-05-18T09:00:00-05:00".
Gaps we've already solved on our side (no API change needed)
These are listed only so the scope is clear — please don't prioritize them:
- ISO 3166-1 country code (for flags): solved with a complete curated
COUNTRY_CODE_BY_NAME map. Sustainable, no API change required — though if a
country_code field is ever added, we'd happily drop our map.
- Categories: we repurposed this into a status filter (all / upcoming /
past) plus an event type filter (virtual vs. in-person, derived from the
existing location.virtual flag). No API change needed.
Summary of the ask
| Field |
Needed for |
Priority |
location.lat / location.lng |
Map pins |
High |
image / banner URL |
Event cards & hero |
High |
summary / description |
Card copy |
Medium |
location.venue_name / address |
Location detail |
Medium |
| Start/end time (ISO datetime) |
Time display |
Medium |
Context
We recently merged the events integration on the AAIF website (
staging). Itconsumes the LF Events API and renders an events listing with map pins, country
flags, and event cards.
During the build we found several fields that our previous Sanity-backed model
had but the API doesn't return. We've worked around what we could, but a few
gaps are filled with curated/hardcoded data that won't scale as the event list
grows. This issue requests adding those fields upstream so we can drop the
workarounds.
Current API response (for reference)
{ "id": 278373, "name": "Open Source Summit North America", "start_date": "2026/05/18", "end_date": "2026/05/20", "location": { "city": "Minneapolis", "country": "United States", "virtual": false }, "url": "https://pr-1108-lfeventsci.pantheonsite.io/open-source-summit-north-america/", "menu_background_color": "#325560", "menu_gradient_color": "#003942", "menu_dropdown_color": "#003942" }Requested additions (priority order)
1. Latitude / longitude — highest priority
CITY_GEOlookup table keyed by cityname. Not sustainable — every new event in a new city requires a manual
code change, and city-name collisions/spelling are fragile.
location.latandlocation.lng(or acoordinatesobject).Even city-centroid precision is fine; we only need it for the pin.
2. Event image
menu_background_color,etc.); we fall back to a generic placeholder image for every event.
image(orbanner/thumbnail) URL field.3. Summary / description
summary(and/ordescription) field.4. Venue name & address
location.venue_nameandlocation.address.5. Time-of-day on dates
start_date/end_dateare date-only (YYYY/MM/DD).timezone), e.g.
start_at: "2026-05-18T09:00:00-05:00".Gaps we've already solved on our side (no API change needed)
These are listed only so the scope is clear — please don't prioritize them:
COUNTRY_CODE_BY_NAMEmap. Sustainable, no API change required — though if acountry_codefield is ever added, we'd happily drop our map.past) plus an event type filter (virtual vs. in-person, derived from the
existing
location.virtualflag). No API change needed.Summary of the ask
location.lat/location.lngimage/bannerURLsummary/descriptionlocation.venue_name/address