Summary
The volunteer list endpoint (GET /volunteers) returns ApiVolunteerGetList which includes locations: OptionItem[] (district names) but no coordinates. The volunteer map tab needs lat/lon to place pins.
Proposed change
Add lat and lon (nullable) to ApiVolunteerGetList from volunteer.person.address.postcode.latitude/longitude.
If the volunteer has no address or postcode, return lat: null, lon: null — the map simply skips pinless volunteers.
Notes
Postcode entity already has latitude and longitude columns
- The volunteer list query already joins
person — needs to also join person.address.postcode
- SDK type
ApiVolunteerGetList will need updating too (coordinate with SDK bump)
- Only expose coordinates, never the full street address, in the list response (GDPR minimisation)
Depends on
Nothing — standalone BE change.
Summary
The volunteer list endpoint (
GET /volunteers) returnsApiVolunteerGetListwhich includeslocations: OptionItem[](district names) but no coordinates. The volunteer map tab needs lat/lon to place pins.Proposed change
Add
latandlon(nullable) toApiVolunteerGetListfromvolunteer.person.address.postcode.latitude/longitude.If the volunteer has no address or postcode, return
lat: null, lon: null— the map simply skips pinless volunteers.Notes
Postcodeentity already haslatitudeandlongitudecolumnsperson— needs to also joinperson.address.postcodeApiVolunteerGetListwill need updating too (coordinate with SDK bump)Depends on
Nothing — standalone BE change.