Location display point validation rules for coordinates, precision, containment, and source requirements
Change Detection
SuspiciousRemovalOfDisplayPoint
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that displayPoint is present when previously submitted |
Containment
DisplayPointContainedByWaterFeature
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that coordinates are not contained by a mapped water feature |
DisplayPointCoordinatesNotContainedByExpectedAdminArea
| Preconditions |
|---|
structuredAddress is present |
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that coordinates, when reverse geocoded, returns an Administrative Area matching the value in administrativeArea |
DisplayPointCoordinatesNotContainedByExpectedLocality
| Preconditions |
|---|
structuredAddress is present |
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that coordinates, when reverse geocoded, returns a Locality matching the value in locality |
DisplayPointCoordinatesNotContainedByExpectedPostCode
| Preconditions |
|---|
structuredAddress and postCode are present |
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that coordinates, when reverse geocoded, returns a Post Code matching the value in postCode |
DisplayPointOnWaterMustHaveMainAddress
| Preconditions |
|---|
displayPoint coordinates are contained by a mapped water feature |
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that mainAddress is present |
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) |
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that fullAddress and structuredAddress geocoding is successful |
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 |
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that displayPoint coordinates are not contained by China |
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 |
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that displayPoint coordinates are contained by geometry data |
PointMustBeContainedByBrandCountryCodes
| Preconditions |
|---|
brandId is present |
displayPoint is present |
mainAddress is not present |
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
| Validate that coordinates are contained by the brand's country |
PointMustBeContainedByCountry
| Preconditions |
|---|
fullAddress or structuredAddress (or both) is present and successfully geocoded |
displayPoint is present |
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that coordinates, when reverse geocoded, intersect the same country provided in a structuredAddress or fullAddress |
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
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that latitude does not include any leading ("white") space |
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
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that longitude does not include any leading ("white") space |
DisplayPointCoordinatesMustBePresent
| Preconditions |
|---|
displayPoint is present |
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that coordinates are present | Link |
DisplayPointNotPresent
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that displayPoint is present |
Example Validation Report
{
"code": "VALIDATION__DisplayPointNotPresent",
"severity": "INFO",
"message": "Location has no `displayPoint`"
}
DisplayPointNotSupportedInCountry
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that display point coordinates are contained by a supported country | Link |
Example Validation Report
{
"code": "VALIDATION__DisplayPointNotSupportedInCountry",
"severity": "VIOLATION",
"message": "Country support for 'displayPoint' not available"
}
Latitude & Longitude
DisplayPointCoordinatesLatitudeMustBePresent
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that latitude is present | Link |
DisplayPointCoordinatesLatitudeMustNotBeEmpty
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that latitude is not an empty string |
DisplayPointCoordinatesLongitudeMustBePresent
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that longitude is present | Link |
DisplayPointCoordinatesLongitudeMustNotBeEmpty
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that longitude is not an empty string |
DisplayPointLatitudeAndLongitudeMatch
| Preconditions |
|---|
latitude is not 0 |
longitude is not 0 |
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that latitude AND longitude do not match |
DisplayPointMatchesAccessPoints
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that Display Point coordinates do not match Access Points coordinates |
DisplayPointCoordinatesMustBeWithinValidRange
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that values of latitude and longitude are within their expected range |
DisplayPointLatLongMustNotBeZero
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validates that values of latitude and longitude are not both zero |
Precision
DisplayPointCoordinateLatitudeHasExcessivePrecision
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that latitude value does not possess precision greater than 7 decimal places | Link |
Example Validation Report
{
"code": "VALIDATION__DisplayPointCoordinateLatitudeHasExcessivePrecision",
"severity": "WARNING",
"message": "Latitude has excessive precision and will be truncated and rounded"
}
DisplayPointCoordinateLongitudeHasExcessivePrecision
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that longitude value does not possess precision greater than 7 decimal places | Link |
Example Validation Report
{
"code": "VALIDATION__DisplayPointCoordinateLongitudeHasExcessivePrecision",
"severity": "WARNING",
"message": "Longitude has excessive precision and will be truncated and rounded"
}
DisplayPointCoordinateLatitudeMustBeSufficientlyPrecise
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that latitude value possesses minimum precision (5 decimal places) | Link |
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
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that longitude value possesses minimum precision (5 decimal places) | Link |
DisplayPointCoordinateLatitudeShouldBeMorePrecise
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that latitude value possesses precision that is greater than the minimum required degree of precision (greater than 5 decimal places, 6 is optimal) | Link |
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
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that longitude value possesses precision that is greater than the minimum required degree of precision (greater than 5 decimal places, 6 is optimal) | Link |
DisplayPointCoordinateLatitudeMustBeWithinValidRange
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that latitude is within the expected range |
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
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that longitude is within the expected range |
Source
DisplayPointSourceMustBeValid
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that source value is valid | Link |
DisplayPointSourceMustBePresent
| Preconditions |
|---|
displayPoint is present |
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that source is present | Link |
DisplayPointSourceMustNotBeEmpty
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that source is not an empty string |