Skip to main content

Apple Business guidance for capturing a location's opening hours. This includes service and special hours.

Hours by Day

times MUST be valid per the OSM Opening Hours specification with added constraints:

  • times MUST only capture OSM <hour_minutes> where:
    • <hour> is in the range 00 to 24
    • <minutes> is in the range 00 to 59
NameTypeInput
daystring
REQUIRED
timesarray
REQUIRED

Day

MUST be any one (1) of:

| SUNDAY | MONDAY | TUESDAY | WEDNESDAY | THURSDAY | FRIDAY | SATURDAY |

Times

NameTypeDescription
startTimestringStart time in the format: <hours>:<minutes>
endTimestringEnd time in the format: <hours>:<minutes>
  • <hours> MUST be any one (1) of:

00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |

  • <minutes> MUST be any one (1) of:

00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |

Occurrences

Property
locationDetails.openingHoursByDay[].times[].endTime
locationDetails.openingHoursByDay[].times[].startTime
locationDetails.serviceHours[].times[].endTime
locationDetails.serviceHours[].times[].startTime
locationDetails.specialHours[].times[].endTime
locationDetails.specialHours[].times[].startTime

Opening Hours by Day

Opening Hours by Day captures a location's regular hours of operation and must reflect the actual hours of the described location. When a physical location displays different hours for a specific service, then these hours should be captured as Service Hours and must not modify the location's Opening Hours by Day.

US Post Office, Santa Barbara, CA, USA

US Post Office displays these hours:

Post Office Hours
Post Office Hours

Opening Hours by Day should capture the "Retail Hours." "Lobby Hours," "Photo Appointment Hours," "Passport Appointment Hours," and so on should be individually captured in Service Hours

Locations Without Expected Hours

Some locations do not physically display their hours of operation. These may include:

  • Locations that are always open. For example, hotels, gas stations, parks, natural features, and so on
  • Locations without fixed hours. For example, locations available by appointment, only

When hours of operation are not displayed because the location is operational 24 hours a day, Opening Hours by Day must still be captured to unambiguously capture this fact.

When a location is by appointment only, Opening Hours by Day should not be provided.

Hanks Seafood & Supermarket, New Orleans, LA, USA

Hanks is open 24 hours a day, 7 days a week.

Modeling Approach

Opening Hours by Day Example
{
"openingHoursByDay": [
{
"day": "MONDAY",
"times": [
{
"startTime": "00:00",
"endTime": "24:00"
}
]
},
{
"day": "TUESDAY",
"times": [
{
"startTime": "00:00",
"endTime": "24:00"
}
]
},
{
"day": "WEDNESDAY",
"times": [
{
"startTime": "00:00",
"endTime": "24:00"
}
]
},
{
"day": "THURSDAY",
"times": [
{
"startTime": "00:00",
"endTime": "24:00"
}
]
},
{
"day": "FRIDAY",
"times": [
{
"startTime": "00:00",
"endTime": "24:00"
}
]
},
{
"day": "SATURDAY",
"times": [
{
"startTime": "00:00",
"endTime": "24:00"
}
]
},
{
"day": "SUNDAY",
"times": [
{
"startTime": "00:00",
"endTime": "24:00"
}
]
}
]
}

Liberty Tax, Nashville, TN 37216

Liberty Tax is open by appointment only and hours of operation are not listed on their official website. Opening Hours by Day should not be provided for this location.

Unattended Locations

Unattended locations are required to possess Opening Hours. Unattended locations are generally considered to be operational 24 hours a day. The following convention is acceptable:

ScenariostartTimeendTime
24 hours a day00:0024:00

Seasonal Hours

Seasonal hours are commonly a response to:

  • Available daylight
  • Harvesting times
  • Holidays
  • Weather conditions necessary for recreational activities

The Viking Ship Museum, Oslo, Denmark

The Viking Ship Museum has seasonal hours as follows:

SeasonDate RangeHours
SummerMay 1 - Oct 23Mon - Sun 10:00 - 17:00
WinterOct 24 - Apr 31Mon - Sun 10:00 - 16:00

Modeling Approach
Model seasonal hours using Special Hours. Specify their respective date ranges and use a description to distinguish them from one another.

Special Hours Example
{
"specialHours": [
{
"hoursByDay": [
{
"day": "MONDAY",
"times": [
{
"startTime": "10:00",
"endTime": "17:00"
}
]
},
{...},
{...},
{...},
{...},
{...},
{...}
],
"startDate": "2026-05-01",
"endDate": "2026-10-23",
"closed": "false",
"descriptions": [
{
"text": "Summer Season",
"locale": "en"
},
{
"text": "Sommer",
"locale": "da"
}
]
},
{
"hoursByDay": [
{
"day": "MONDAY",
"times": [
{
"startTime": "10:00",
"endTime": "16:00"
}
]
},
{...},
{...},
{...},
{...},
{...},
{...}
],
"startDate": "2026-10-23",
"endDate": "2026-04-30",
"closed": "false",
"descriptions": [
{
"text": "Winter Season",
"locale": "en"
},
{
"text": "Vinter",
"locale": "da"
}
]
}
]
}

Times

Refer to the following table for common scenarios and expected times:

ScenariostartTimeendTime
5pm-1am17:0001:00
10pm-12.30am22:0000:30
24 hours a day00:0024:00
NameDescription
LocationLocation API