Skip to main content

Location phone numbers validation rules for format, types, and contact information requirements

Change Detection​

CountOfPhoneNumberTypesIncreased​

DefinitionSeverityAPISampleMode
Validate that the count of types in latest submittal is less than or matches the count in the stored record
INFO
PUT
A

SuspiciousRemovalOfPhoneNumbers​

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

UnexpectedPrimaryPhoneNumberChange​

DefinitionSeverityAPISampleMode
Validate that the primary phoneNumber is unchanged between last version and latest submittal
WARNING
PUT
A

UnexpectedPhoneNumberTypeChange​

DefinitionSeverityAPISampleMode
Validate that a phoneNumber, unchanged between last version and latest submittal, has the same type
WARNING
PUT
S

UnexpectedPrimaryPhoneNumberTypeChange​

DefinitionSeverityAPISampleMode
Validate that the Primary Phone Number type is unchanged between last version and latest submittal
WARNING
PUT
A

Cross-feature​

PhoneNumbers_ExpectedRegionSubtagForCountryNotPresent​

Preconditions
structuredAddress is present
DefinitionSeverityAPISampleMode
Validate that at least one (1) Region Subtag is present that corresponds with countryCode in structuredAddress
INFO
POST_AND_PUT
S

PhoneNumbers_ExpectedRegionSubtagForDerivedCountryNotPresent​

Preconditions
displayPoint is present
mainAddress is not present
DefinitionSeverityAPISampleMode
Validate that at least one (1) Region Subtag is present that corresponds with a country derived from displayPoint
INFO
POST_AND_PUT
A

UnexpectedPhoneNumberFormatForCountryCode​

Preconditions
structuredAddress is present
DefinitionSeverityAPISampleMode
Validate that phoneNumber has expected format for the corresponding Country derived from the countryCode
INFO
POST_AND_PUT
S

UnexpectedPhoneNumberFormatForDerivedCountry​

Preconditions
displayPoint is present
DefinitionSeverityAPISampleMode
Validate that phoneNumber has expected format for the corresponding Country derived from the displayPoint
INFO
POST_AND_PUT
A

Phone Numbers​

CountOfValuesInPhoneNumbersListExceedsThreshold​

DefinitionSeverityAPISampleMode
Validate that the count of phoneNumbers values in a list does not exceed ten (10)
VIOLATION
POST_AND_PUT
S

CountryDialingCodeNotAllowedForOrgType​

Preconditions
orgId resolves to organization that is location owner
DefinitionSeverityAPISampleMode
Validate that dialing code does not resolve to China
VIOLATION
POST_AND_PUT
S
Example Validation Report
{
"code": "VALIDATION__CountryDialingCodeNotAllowedForOrgType",
"severity": "VIOLATION",
"message": "Country support for your organization type is not available",
"details": {
"createdDate": "2026-09-01T21:00:59.865Z",
"submitted": [],
"compared": [],
"expected": []
}
}

CountryDialingCodeNotSupported​

DefinitionSeverityAPISampleMode
Validate that a dialing code is associated with a supported country
VIOLATION
POST_AND_PUT
Link
S
Example Validation Report
{
"code": "VALIDATION__CountryDialingCodeNotSupported",
"severity": "VIOLATION",
"message": "Support for 'phoneNumber' value '{{value}}' not available",
"context": {
"value": "+74959375911"
},
"details": {
"createdDate": "2026-09-01T21:00:59.865Z",
"submitted": [
{
"field": "$.locationDetails.phoneNumbers[0].phoneNumber",
"value": "+74959375911"
}
],
"compared": [],
"expected": []
}
}

PhoneNumbersListMustNotIncludeNulls​

DefinitionSeverityAPISampleMode
Validate that a list does not include null
VIOLATION
POST_AND_PUT
S

PhoneNumbersMustNotBeEmptyArray​

DefinitionSeverityAPISampleMode
Validate that phoneNumbers is not an empty array
VIOLATION
POST_AND_PUT
S
Example Validation Report
{
"code": "VALIDATION__PhoneNumbersMustNotBeEmptyArray",
"message": "'{{field}}' must be omitted or contain at least one element; empty arrays are not allowed.",
"severity": "VIOLATION",
"context": {
"field": "phoneNumbers"
},
"details": {
"compared": [],
"expected": [],
"submitted": [
{
"field": "$.locationDetails.phoneNumbers",
"value": "[]"
}
],
"createdDate": "2026-03-03T13:58:43.946Z"
}
}

PhoneNumbersNotPresent​

DefinitionSeverityAPISampleMode
Validate that phoneNumbers (recommended features) are present
WARNING
POST
Link
S
Example Validation Report
{
"code": "VALIDATION__PhoneNumbersNotPresent",
"severity": "WARNING",
"message": "New Location does not include phone numbers (recommended)",
"details": {
"createdDate": "2026-09-01T21:00:59.865Z",
"expected": [
{
"field": "$.locationDetails.phoneNumbers"
}
],
"compared": [],
"submitted": []
}
}

PhoneNumbersShouldNotBeExclusivelyFax​

DefinitionSeverityAPISampleMode
Validate that not all listed Phone Numbers are exclusively FAX
WARNING
POST_AND_PUT
S

PhoneNumbersAreaCodesAreDissimilar​

DefinitionSeverityAPISampleMode
Validate that phoneNumber area code prefixes match
INFO
POST_AND_PUT
A

PhoneNumbersMustBeDistinct​

DefinitionSeverityAPISampleMode
Validate that each phoneNumber value is distinct
VIOLATION
POST_AND_PUT
S

Phone Extension​

PhoneNumbersExtMustNotBeEmpty​

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

PhoneNumberMustNotMatchPhoneExt​

DefinitionSeverityAPISampleMode
Validate that phoneNumber does not match phoneExt
VIOLATION
POST_AND_PUT
S

SuspiciousPhoneExtCharacterLength​

DefinitionSeverityAPISampleMode
Validate that phoneExt length does not exceed a maximum value (5)
WARNING
POST_AND_PUT
S

Primary​

AtLeastOnePrimaryPhoneNumberShouldBePresent​

DefinitionSeverityAPISampleMode
Validate that at least one (1) primary phoneNumber is present
WARNING
POST_AND_PUT
Link

MustOnlyHaveOnePrimaryPhoneNumber​

DefinitionSeverityAPISampleMode
Validate that only one (1) primary phoneNumber is present
VIOLATION
POST_AND_PUT
Link

PhoneNumbersPrimaryMustBePresent​

DefinitionSeverityAPISampleMode
Validate that primary is present
VIOLATION
POST_AND_PUT
Link

Phone Number​

PhoneNumberMustBePresent​

Preconditions
phoneNumbers is present
DefinitionSeverityAPISampleMode
Validate that phoneNumber is present
VIOLATION
POST_AND_PUT
Link
S

PhoneNumberMustHaveValidFormat​

DefinitionSeverityAPISampleMode
Validate that phoneNumber formatting is valid
VIOLATION
POST_AND_PUT
S

A phoneNumber value is accepted if it conforms to any one of the following formats:

FormatExample
NATIONAL(650) 253-0000
INTERNATIONAL+1 650-253-0000
E164+16502530000
RFC3966tel:+1-650-253-0000
Example Validation Report
{
"code": "VALIDATION__PhoneNumberMustHaveValidFormat",
"message": "'{{phoneNumber}}' must have valid format",
"severity": "VIOLATION",
"context": {
"phoneNumber": "+4479704802"
},
"details": {
"createdDate": "2026-09-01T21:00:59.865Z",
"submitted": [
{
"field": "$.locationDetails.phoneNumbers[0].phoneNumber",
"value": "+4479704802"
}
],
"compared": [],
"expected": []
}
}

PhoneNumberMustNotBeEmpty​

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

PhoneNumberShouldNotBeExclusivelyTTY​

DefinitionSeverityAPISampleMode
Validate that not all listed Phone Numbers are exclusively TTY
WARNING
POST_AND_PUT
S

PhoneNumberTypeMustBePresent​

Preconditions
phoneNumbers is present
DefinitionSeverityAPISampleMode
Validate that type is present
VIOLATION
POST_AND_PUT
Link
S

PhoneNumberTypeMustBeDistinct​

DefinitionSeverityAPISampleMode
Validate that each type is distinct
VIOLATION
POST_AND_PUT
Link

PhoneNumberTypeMustBeValid​

DefinitionSeverityAPISampleMode
Validate that type value is valid
VIOLATION
POST_AND_PUT
Link
S

PhoneNumberTypeMustNotBeEmpty​

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

UnexpectedMatchAmongPhoneNumbersAndTypes​

DefinitionSeverityAPISampleMode
Validate that Phone Numbers do not unexpectedly match among types: FAX and TTY
WARNING
POST_AND_PUT
S