Skip to main content

Location opening hours validation rules for days, times, formats, and operational constraints

Change Detection​

SuspiciousRemovalOfOpeningHoursByDay​

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

Opening Hours by Day​

OpeningHoursByDayListMustNotIncludeNulls​

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

OpeningHoursByDayMustNotBeEmptyArray​

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

OpeningHoursByDayUpdatedWhenLocationStatusIsTempClosed​

Preconditions
locationStatus.status is TEMPORARILY_CLOSED
DefinitionSeverityAPISampleMode
Validate that openingHoursByDay match openingHoursByDay in the previous location (etag) version
WARNING
PUT
S
Example Validation Report
{
"code": "VALIDATION__OpeningHoursByDayUpdatedWhenLocationStatusIsTempClosed",
"severity": "WARNING",
"message": "Opening hours updated for location that is `TEMPORARILY_CLOSED`",
"details": {
"createdDate": "2026-03-03T13:58:43.946Z",
"submitted": [],
"compared": [],
"expected": []
}
}

OpeningHoursNotPresent​

DefinitionSeverityAPISampleMode
Validate that openingHoursByDay (recommended features) are present
WARNING
POST
Link
S

Day​

OpeningHoursDayMustBePresent​

Preconditions
openingHoursByDay is present
DefinitionSeverityAPISampleMode
Validate that day is present
VIOLATION
POST_AND_PUT
Link
S

OpeningHoursDayMustNotBeEmpty​

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

OpeningHoursDayMustBeValid​

DefinitionSeverityAPISampleMode
Validate that day value is valid
VIOLATION
POST_AND_PUT
Link
S

OpeningHoursDayMustBeDistinct​

DefinitionSeverityAPISampleMode
Validate that each day value is distinct
VIOLATION
POST_AND_PUT
S

Times​

HoursAreWithin06:00To11:00Range​

DefinitionSeverityAPISampleMode
Validate that all hours are not within the range of 06:00 and 11:00
WARNING
POST_AND_PUT
S

InsufficientOpeningHoursByDayForCategory​

Preconditions
categories is any of: restaurants, food, shopping
DefinitionSeverityAPISampleMode
Validate that at least four (4) days are present
WARNING
POST_AND_PUT
S

OpeningHoursByDayTimesListMustNotIncludeNulls​

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

OpeningHoursTimesMustBePresent​

Preconditions
openingHoursByDay is present
DefinitionSeverityAPISampleMode
Validate that times is present
VIOLATION
POST_AND_PUT
Link
S

OpeningHoursStartTimeMustBePresent​

Preconditions
times is present
DefinitionSeverityAPISampleMode
Validate that startTime is present
VIOLATION
POST_AND_PUT
S

OpeningHoursStartTimeMustNotBeEmpty​

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

OpeningHoursEndTimeMustBePresent​

Preconditions
times is present
DefinitionSeverityAPISampleMode
Validate that endTime is present
VIOLATION
POST_AND_PUT
S

OpeningHoursEndTimeMustNotBeEmpty​

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

OpeningHoursStartTimeMustNotMatchEndTime​

DefinitionSeverityAPISampleMode
Validate that startTime does not match endTime
VIOLATION
POST_AND_PUT
Link
S

OpeningHoursDaysTimesMustNotMatch​

DefinitionSeverityAPISampleMode
Validate that listed times do not match
VIOLATION
POST_AND_PUT
Link
S

OpeningHoursDaysTimesMustNotOverlap​

DefinitionSeverityAPISampleMode
Validate that listed times do not overlap
VIOLATION
POST_AND_PUT
Link
S

OpeningHoursStartTimeMustHaveValidFormat​

DefinitionSeverityAPISampleMode
Validate that startTime formatting is valid
VIOLATION
POST_AND_PUT
Link
S

OpeningHoursEndTimeMustHaveValidFormat​

DefinitionSeverityAPISampleMode
Validate that endTime formatting is valid
VIOLATION
POST_AND_PUT
Link
S

ShouldBeOpenMoreThanTwoHours​

DefinitionSeverityAPISampleMode
Validate that listed times during a day total at least two (2) hours
WARNING
POST_AND_PUT
S

ShouldBeOpenMoreThanOneHour​

DefinitionSeverityAPISampleMode
Validate that listed times during a day total at least one (1) hour
WARNING
POST_AND_PUT
S

SuspiciousWeekendRestriction​

DefinitionSeverityAPISampleMode
Validate that days are not restricted to only SATURDAY or SUNDAY, or just those days
WARNING
POST_AND_PUT
Link
S

SuspiciouslyShortClosureBetweenTimesInDay​

DefinitionSeverityAPISampleMode
Validate that minutes interval between times in a day is greater than threshold (15 minutes)
VIOLATION
POST_AND_PUT
Link
S

SuspiciousWeekdayTimeVariance​

DefinitionSeverityAPISampleMode
Validate that a comparison of times between days Monday through Friday, inclusive, does not render a difference of four (4) hours
WARNING
POST_AND_PUT
Link
S