Skip to main content

Location display point validation rules for coordinates, precision, containment, and source requirements

Change Detection

SuspiciousRemovalOfDisplayPoint

DefinitionSeverityAPISampleMode
Validate that displayPoint is present when previously submitted
WARNING
PUT
S

Containment

DisplayPointContainedByWaterFeature

DefinitionSeverityAPISampleMode
Validate that coordinates are not contained by a mapped water feature
WARNING
POST_AND_PUT
A

DisplayPointCoordinatesNotContainedByExpectedAdminArea

Preconditions
structuredAddress is present
DefinitionSeverityAPISampleMode
Validate that coordinates, when reverse geocoded, returns an Administrative Area matching the value in administrativeArea
WARNING
POST_AND_PUT
A

DisplayPointCoordinatesNotContainedByExpectedLocality

Preconditions
structuredAddress is present
DefinitionSeverityAPISampleMode
Validate that coordinates, when reverse geocoded, returns a Locality matching the value in locality
WARNING
POST_AND_PUT
A

DisplayPointCoordinatesNotContainedByExpectedPostCode

Preconditions
structuredAddress and postCode are present
DefinitionSeverityAPISampleMode
Validate that coordinates, when reverse geocoded, returns a Post Code matching the value in postCode
WARNING
POST_AND_PUT
A

DisplayPointOnWaterMustHaveMainAddress

Preconditions
displayPoint coordinates are contained by a mapped water feature
DefinitionSeverityAPISampleMode
Validate that mainAddress is present
VIOLATION
POST_AND_PUT
A
Example Validation Report
{
"code": "VALIDATION__DisplayPointOnWaterMustHaveMainAddress",
"message": "Location with `displayPoint` contained by water body must have `mainAddress`",
"severity": "VIOLATION",
"details": {
"submitted": [
{
"field": "$.locationDetails.displayPoint.coordinates",
"value": {
"latitude": "37.7555156",
"longitude": "-140.3475952"
}
}
],
"createdDate": "2026-12-05T19:39:14.602Z",
"compared": [],
"expected": []
}
}

AddressGeocodingMustBeSuccessfulWhenDisplayPointIsOnWater

Preconditions
displayPoint coordinates are contained by a mapped water feature
fullAddress or structuredAddress is present. (Or, both)
DefinitionSeverityAPISampleMode
Validate that fullAddress and structuredAddress geocoding is successful
VIOLATION
POST_AND_PUT
A

When submitted resource has both structuredAddress and fullAddress, and neither can be geocoded successfully.

Example Validation Report
{
"code": "VALIDATION__AddressGeocodingMustBeSuccessfulWhenDisplayPointIsOnWater",
"message": "Geocoding of location's address must be successful when location's `displayPoint` is contained by water body",
"severity": "VIOLATION",
"details": {
"submitted": [
{
"field": "$.locationDetails.displayPoint.coordinates",
"value": {
"latitude": "37.7555156",
"longitude": "-140.3475952"
}
},
{
"field": "$.locationDetails.mainAddress.structuredAddress",
"value": {
"thoroughfare": "Street Name",
"subThoroughfare": "000",
"fullThoroughfare": "000 Street Name",
"locality": "Locality",
"administrativeArea": "NY",
"postCode": "72460",
"countryCode": "US"
}
},
{
"field": "$.locationDetails.mainAddress.fullAddress",
"value": "000 Street Name, Locality, NY, 72460, US"
}
],
"createdDate": "2026-12-05T19:39:14.602Z",
"compared": [],
"expected": []
}
}

When submitted resource has only fullAddress which cannot be geocoded successfully.

Example Validation Report
{
"code": "VALIDATION__AddressGeocodingMustBeSuccessfulWhenDisplayPointIsOnWater",
"message": "Geocoding of location's address must be successful when location's `displayPoint` is contained by water body",
"severity": "VIOLATION",
"details": {
"submitted": [
{
"field": "$.locationDetails.displayPoint.coordinates",
"value": {
"latitude": "37.7555156",
"longitude": "-140.3475952"
}
},
{
"field": "$.locationDetails.mainAddress.fullAddress",
"value": "000 Street Name, Locality, NY, 72460, US"
}
],
"createdDate": "2026-12-05T19:39:14.602Z",
"compared": [],
"expected": []
}
}

DisplayPointCountryNotAllowedForOrgType

Preconditions
orgId resolves to organization that is location owner
DefinitionSeverityAPISampleMode
Validate that displayPoint coordinates are not contained by China
VIOLATION
POST_AND_PUT
A
Example Validation Report
{
"code": "VALIDATION__DisplayPointCountryNotAllowedForOrgType",
"severity": "VIOLATION",
"message": "Country support for your organization type is not available"
}

DisplayPointMustBeContainedByPolygonalGeometry

Preconditions
geometry is present
geometry is decoded as polygon or multi-polygon geometry type
DefinitionSeverityAPISampleMode
Validate that displayPoint coordinates are contained by geometry data
VIOLATION
POST_AND_PUT
S

PointMustBeContainedByBrandCountryCodes

Preconditions
brandId is present
displayPoint is present
mainAddress is not present
DefinitionSeverityAPISampleMode
Validate that coordinates are contained by the brand's country
VIOLATION
POST_AND_PUT
A

PointMustBeContainedByCountry

Preconditions
fullAddress or structuredAddress (or both) is present and successfully geocoded
displayPoint is present
DefinitionSeverityAPISampleMode
Validate that coordinates, when reverse geocoded, intersect the same country provided in a structuredAddress or fullAddress
VIOLATION
POST_AND_PUT
A

Flow Chart

Following chart describes the system's behavior as it relates to this validation:

1 When both fullAddress and structuredAddress are present, only the structuredAddress country is used for comparison.

Display Point

DisplayPointCoordinatesLatitudeHasLeadingSpace

DefinitionSeverityAPISampleMode
Validate that latitude does not include any leading ("white") space
VIOLATION
POST_AND_PUT
S
Example Validation Report
{
"code": "VALIDATION__DisplayPointCoordinatesLatitudeHasLeadingSpace",
"message": "'{{latitude}}' must not include any leading spaces",
"severity": "VIOLATION",
"context": {
"latitude": " 43.84"
},
"details": {
"compared": [],
"expected": [],
"submitted": [
{
"field": "$.locationDetails.displayPoint.coordinates.latitude",
"value": " 43.84"
}
],
"createdDate": "2026-12-05T19:39:14.602Z"
}
}

DisplayPointCoordinatesLongitudeHasLeadingSpace

DefinitionSeverityAPISampleMode
Validate that longitude does not include any leading ("white") space
VIOLATION
POST_AND_PUT
S

DisplayPointCoordinatesMustBePresent

Preconditions
displayPoint is present
DefinitionSeverityAPISampleMode
Validate that coordinates are present
VIOLATION
POST_AND_PUT
Link
S

DisplayPointNotPresent

DefinitionSeverityAPISampleMode
Validate that displayPoint is present
INFO
POST_AND_PUT
S
Example Validation Report
{
"code": "VALIDATION__DisplayPointNotPresent",
"severity": "INFO",
"message": "Location has no `displayPoint`"
}

DisplayPointNotSupportedInCountry

DefinitionSeverityAPISampleMode
Validate that display point coordinates are contained by a supported country
VIOLATION
POST_AND_PUT
Link
A
Example Validation Report
{
"code": "VALIDATION__DisplayPointNotSupportedInCountry",
"severity": "VIOLATION",
"message": "Country support for 'displayPoint' not available"
}

Latitude & Longitude

DisplayPointCoordinatesLatitudeMustBePresent

DefinitionSeverityAPISampleMode
Validate that latitude is present
VIOLATION
POST_AND_PUT
Link
S

DisplayPointCoordinatesLatitudeMustNotBeEmpty

DefinitionSeverityAPISampleMode
Validate that latitude is not an empty string
VIOLATION
POST_AND_PUT
S

DisplayPointCoordinatesLongitudeMustBePresent

DefinitionSeverityAPISampleMode
Validate that longitude is present
VIOLATION
POST_AND_PUT
Link
S

DisplayPointCoordinatesLongitudeMustNotBeEmpty

DefinitionSeverityAPISampleMode
Validate that longitude is not an empty string
VIOLATION
POST_AND_PUT
S

DisplayPointLatitudeAndLongitudeMatch

Preconditions
latitude is not 0
longitude is not 0
DefinitionSeverityAPISampleMode
Validate that latitude AND longitude do not match
WARNING
POST_AND_PUT
S

DisplayPointMatchesAccessPoints

DefinitionSeverityAPISampleMode
Validate that Display Point coordinates do not match Access Points coordinates
INFO
POST_AND_PUT
A

DisplayPointCoordinatesMustBeWithinValidRange

DefinitionSeverityAPISampleMode
Validate that values of latitude and longitude are within their expected range
VIOLATION
POST_AND_PUT
S

DisplayPointLatLongMustNotBeZero

DefinitionSeverityAPISampleMode
Validates that values of latitude and longitude are not both zero
VIOLATION
POST_AND_PUT
S

Precision

DisplayPointCoordinateLatitudeHasExcessivePrecision

DefinitionSeverityAPISampleMode
Validate that latitude value does not possess precision greater than 7 decimal places
WARNING
POST_AND_PUT
Link
S
Example Validation Report
{
"code": "VALIDATION__DisplayPointCoordinateLatitudeHasExcessivePrecision",
"severity": "WARNING",
"message": "Latitude has excessive precision and will be truncated and rounded"
}

DisplayPointCoordinateLongitudeHasExcessivePrecision

DefinitionSeverityAPISampleMode
Validate that longitude value does not possess precision greater than 7 decimal places
WARNING
POST_AND_PUT
Link
S
Example Validation Report
{
"code": "VALIDATION__DisplayPointCoordinateLongitudeHasExcessivePrecision",
"severity": "WARNING",
"message": "Longitude has excessive precision and will be truncated and rounded"
}

DisplayPointCoordinateLatitudeMustBeSufficientlyPrecise

DefinitionSeverityAPISampleMode
Validate that latitude value possesses minimum precision (5 decimal places)
VIOLATION
POST_AND_PUT
Link
S
Example Validation Report
{
"code": "VALIDATION__DisplayPointCoordinateLatitudeMustBeSufficientlyPrecise",
"message": "'{{latitude}}' must be sufficiently precise",
"severity": "VIOLATION",
"context": {
"latitude": "43.84"
},
"details": {
"compared": [],
"expected": [],
"submitted": [
{
"field": "$.locationDetails.displayPoint.coordinates.latitude",
"value": "43.84"
}
],
"createdDate": "2026-06-05T19:39:14.602Z"
}
}

DisplayPointCoordinateLongitudeMustBeSufficientlyPrecise

DefinitionSeverityAPISampleMode
Validate that longitude value possesses minimum precision (5 decimal places)
VIOLATION
POST_AND_PUT
Link
S

DisplayPointCoordinateLatitudeShouldBeMorePrecise

DefinitionSeverityAPISampleMode
Validate that latitude value possesses precision that is greater than the minimum required degree of precision (greater than 5 decimal places, 6 is optimal)
WARNING
POST_AND_PUT
Link
S
Example Validation Report
{
"code": "VALIDATION__DisplayPointCoordinateLatitudeShouldBeMorePrecise",
"message": "'{{latitude}}' precision should be more precise. 6 decimal places is optimal",
"severity": "WARNING",
"context": {
"latitude": "43.84234"
},
"details": {
"compared": [],
"expected": [],
"submitted": [
{
"field": "$.locationDetails.displayPoint.coordinates.latitude",
"value": "43.84234"
}
],
"createdDate": "2026-06-05T19:39:14.602Z"
}
}

DisplayPointCoordinateLongitudeShouldBeMorePrecise

DefinitionSeverityAPISampleMode
Validate that longitude value possesses precision that is greater than the minimum required degree of precision (greater than 5 decimal places, 6 is optimal)
WARNING
POST_AND_PUT
Link
S

DisplayPointCoordinateLatitudeMustBeWithinValidRange

DefinitionSeverityAPISampleMode
Validate that latitude is within the expected range
VIOLATION
POST_AND_PUT
S
Example Validation Report
{
"code": "VALIDATION__DisplayPointCoordinateLatitudeMustBeWithinValidRange",
"message": "'{{latitude}}' value must be within a valid range",
"severity": "VIOLATION",
"context": {
"latitude": "91.358834"
},
"details": {
"compared": [],
"expected": [],
"submitted": [
{
"field": "$.locationDetails.displayPoint.coordinates.latitude",
"value": "91.358834"
}
],
"createdDate": "2026-06-05T19:39:14.602Z"
}
}

DisplayPointCoordinateLongitudeMustBeWithinValidRange

DefinitionSeverityAPISampleMode
Validate that longitude is within the expected range
VIOLATION
POST_AND_PUT
S

Source

DisplayPointSourceMustBeValid

DefinitionSeverityAPISampleMode
Validate that source value is valid
VIOLATION
POST_AND_PUT
Link
S

DisplayPointSourceMustBePresent

Preconditions
displayPoint is present
DefinitionSeverityAPISampleMode
Validate that source is present
VIOLATION
POST_AND_PUT
Link
S

DisplayPointSourceMustNotBeEmpty

DefinitionSeverityAPISampleMode
Validate that source is not an empty string
VIOLATION
POST_AND_PUT
S