Skip to content

Add new changes for Sync26 (geohashlist)#123

Open
albertoramosmonagas wants to merge 1 commit into
camaraproject:mainfrom
albertoramosmonagas:sync26-new-changes
Open

Add new changes for Sync26 (geohashlist)#123
albertoramosmonagas wants to merge 1 commit into
camaraproject:mainfrom
albertoramosmonagas:sync26-new-changes

Conversation

@albertoramosmonagas
Copy link
Copy Markdown
Contributor

@albertoramosmonagas albertoramosmonagas commented May 18, 2026

What type of PR is this?

Add one of the following kinds:

  • enhancement/feature

What this PR does / why we need it:

This PR extends the Population Density Data API with support for a new optional area type: GEOHASHLIST. POLYGON remains the mandatory area type for all MNO implementations, while GEOHASHLIST is introduced as an optional area representation for providers that can support geohash-based requests. Changes included:

  • Added new GEOHASHLIST value to areaType.
  • Added GeohashList and Geohash schemas.
  • Added geohash validation pattern: ^[0-9bcdefghjkmnpqrstuvwxyz]{1,12}$
  • Restricted the precision field to POLYGON requests only. If precision is provided together with GEOHASHLIST, the API returns 400 INVALID_ARGUMENT.
  • Added new 422 error:POPULATION_DENSITY_DATA.UNSUPPORTED_AREA_TYPE to indicate that the requested areaType is valid in the API specification but not supported by the MNO.
  • Refactored CellPopulationDensityData.geohash to reference the common Geohash schema, ensuring the same geohash definition is reused in both request and response models.
  • Updated the API description to clarify the expected GEOHASHLIST behaviour:
    • geohashes may have mixed precision levels;
    • geohashes do not need to be contiguous;
    • geohashes outside MNO coverage return NO_DATA;
    • if the full geohash list is outside the supported area, the response status is AREA_NOT_SUPPORTED.

This PR also clarifies the behaviour for unsupported precision values:

  • If the precision value or geohash length is outside the schema range 1–12, the request is rejected with 400 INVALID_ARGUMENT.
  • If the value is within the valid schema range but not supported by the MNO, the API returns:422 POPULATION_DENSITY_DATA.UNSUPPORTED_PRECISION

This applies both to the precision field for POLYGON requests and to the length of each geohash in GEOHASHLIST requests.

Which issue(s) this PR fixes:

Fixes #110, #109, #105

Special notes for reviewers:

This PR is based on conversations that can be followed at #110.

Changelog input

 release-note
Added optional `GEOHASHLIST` area support with reusable geohash schemas, clarified precision handling, and introduced `POPULATION_DENSITY_DATA.UNSUPPORTED_AREA_TYPE` for valid but unsupported area types.

Additional documentation

This section can be blank.

docs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Provide a list of GeoHashes in the API request

1 participant