Uk:Key:opening_hours
![]() |
![]() |
Опис |
---|
Стандартизований формат опису часу, в який обʼєкт відкритий або зачинений для відвідувачів. ![]() |
Група: властивості |
Застосовується до цих елементів |
Дивись також |
Статус: де-факто |
Інструменти |

Теґ opening_hours=*
використовується для стандартизованого опису розкладу роботи. Наприклад, opening_hours=Mo-Fr 08:00-17:00
говорить про те, що заклад відкрито з понеделка по пʼятницю з 8:00 ранку до 17:00 вечора. Також можуть зазначатись складніші випадки
Відповідну документацію з докладним тлумаченням синтаксису можна знайти у Proposed features/Time domains та Key:opening_hours/specification.
Як позначати
Години роботи є атрибутом, тому повинні відповідати існуючому обʼєкту; наприклад, shop=*
, amenity=*
, tourism=*
. Можна ввести години роботи майже для всього, що має такі відомості. Синтаксис досить непростий, але він дозволяє використовувати навіть дуже складні правила.
Для більшості маперів використання додаткових інструментів, таких як втулок OpeningHoursEditor в JOSM (його можна встановити через розділ Втулки в Налаштуваннях), вбудовані інструменти для додавання часу роботи в Vespucci, Go Map!!, OsmAnd, або завдання в StreetComplete, або інструмент оцінки та веб-інструменти YoHours, є надійнішою альтернативою спробам додавати ці дані вручну.
Для більшості картографів замість того, щоб намагатися редагувати значення тегів безпосередньо, краще скористатися спеціальними інструментами, такими як плагін OpeningHoursEditor в JOSM (можна додати в меню плагінів у налаштуваннях), вбудований спеціальний редактор у Vespucci, Go Map!!, OsmAnd, Every Door, квест про години роботи StreetComplete, або інструмент перевірки синтаксису та веб-інструмент YoHours.
Ці інструменти дозволяють використовувати більш дружній графічний інтерфейс для побудови значення діапазонів годин роботи, який буде додано до теґу.
Зверніть увагу, що деякі інструменти, такі як Organic Maps, мають інтерфейс, який має дуже обмежене розуміння синтаксису годин роботи і не працюватиме з більш складними даними.
Теґи, що використовуються разом
check_date:opening_hours=*
— дата останньої перевірки годин роботи;opening_hours:url=*
— URL-адреса, за якою можна дізнатися про поточні години роботи обʼєкта;source:opening_hours=*
— щоб описати джерело відомостей;
Пояснення на прикладах
Заклад працює у будні дні
- Ви маєте використовувати загальні скорочення днів тижня англійською з цієї таблиці:
Скорочення | День тижня |
---|---|
Mo | Понеділок |
Tu | Вівторок |
We | Середа |
Th | Четвер |
Fr | П'ятниця |
Sa | Субота |
Su | Неділя |
Кілька інтервалів
opening_hours= Mo-Fr 08:00-12:00,13:00-17:30 |
теж саме що і вище, але з перервою з 12:00 до 13:00 (з півдня до 1 PM) |
- Додавайте два проміжки часу в які заклад чи установа доступна для відвідування, розділіть їх комою (,).
Кілька днів в один і той же часовий проміжок
opening_hours=Mo,We 08:00-12:00 |
Працює в понеділок та середу з 08:00 до 12:00 |
Додайте дні, розділені комою без пробілів (,).
Відмінності в розкладі залежно від дня тижня
opening_hours= Mo-Fr 08:00-12:00,13:00-17:30; Sa 08:00-12:00 |
теж саме що і вище, але також працює в суботу зранку |
- Додайте години роботи для кожного набору днів, розділяючи їх крапкою з комою (; ).
Зачинено на свята
opening_hours=Mo-Fr 08:00-12:00,13:00-17:30; Sa 08:00-12:00; PH off |
теж саме що і вище, але зачинено на свята |
- Використовуйте
PH
(public holidays) так само, як ви робите з днями тижня. Замість годин роботи зазначтеoff
, що означає, що заклад зачинено весь день. - Використовуйте
SH
(school holidays) для шкільних канікул. В деяких випадках можна зазначити два коди разом для одного й того ж обʼєктаPH
таSH
, напр.opening_hours=Mo-Fr 08:00-12:00,13:00-17:30; Sa 08:00-12:00; PH off; SH off
Інший час роботи на свята
opening_hours=Mo-Fr 08:00-12:00,13:00-17:30; Sa 08:00-12:00; PH 09:00-12:00 |
на свята, відкрито з 09:00 до 12:00 |
Як зазначено вище, PH
використовується так само, як і день тижня. Тому що це значення розміщується праворуч після інших правил, воно перевизначає попередні правила. Про порядок застосування правил більш докладна інформація міститься у цьому посібнику.
Якщо в деякі дні під час шкільних канікул у закладі різні години роботи, SH
можна використовувати так само як і префікс днів тижня: opening_hours=Mo-Fr 08:00-12:00,13:00-17:30; Sa 08:00-12:00; SH Mo-Sa 09:00-12:00
(У цьому прикладі заклад працює з понеділка по суботу з 9:00 до 12:00 під час шкільних канікул, але має інші години роботи поза канікулами.)
Закриття після опівночі
У деяких випадках заклади зачиняються після опівночі. Наприклад, заклад, що відкривається в понеділок о 20:00 і закривається після опівночі, о 2:00, може бути позначений наступними способами - всі вони є дійсними, відповідно до специфікації:
opening_hours=Mo 20:00-26:00 |
Відкриття в понеділок о 20:00, закриття о 2:00 — з використанням розширеного синтаксису |
opening_hours=Mo 20:00-02:00 |
Відкриття в понеділок о 20:00, закриття о 2:00 — з використанням розширеного синтаксису позначення годин |
Примітка: У деяких валідаторах це може призвести до помилкового попередження.
opening_hours=Mo 20:00-24:00, Tu 00:00-02:00 |
Відкриття в понеділок о 20:00. Закриття у вівторок о 2:00. - з позначкою частини, що припадає на вівторок окремо |
Попередження:
opening_hours=Mo 20:00-26:00; Tu 20:00-24:00 |
Відчинені у понеділок та вівторок о 20:00 та зачинені опівночі. (!) |
Оскільки наступні правила ігнорують попередні, правило вівторка перезаписує фрагмент вівторка, відкритий з 0:00 до 2:00. Переконайтеся, що ви використовуєте кому, а не крапку з комою, щоб розширити правило! Загалом, кома майже завжди є кращим варіантом.
Виняток на основі місяця
Нагадаємо, що наступні правила перезаписують попередні.
Для зазначення в кожному місяці n-е входження дня тижня:
opening_hours=Mo 08:00-16:00; Mo[2] 08:00-12:00 |
Працює по понеділках з 8:00 до 16:00, а в другий понеділок кожного місяця - з 8:00 до 12:00. |
Для зазначення для кожного місяця з n-го по останній день тижня:
opening_hours=Mo 08:00-16:00; Mo[-2] 08:00-12:00 |
Працює по понеділках з 8:00 до 16:00, але в передостанній понеділок кожного місяця працює з 8:00 до 12:00. |
Для всіх днів місяця:
opening_hours=Mo 08:00-16:00; Dec off |
Відкритий по понеділках з 8:00 до 16:00, але в грудні зачинений. |
Місяці скорочуються до перших трьох літер їхньої назви: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec.
Конкретний день місяця:
opening_hours=Mo-Fr 08:00-16:00; Dec 12 off |
Відкрито з понеділка по п'ятницю з 8:00 до 16:00, але зачинено 12 грудня. |
Місяці можна комбінувати з днями тижня.
opening_hours=Mo 08:00-16:00; Dec Mo 08:00-12:00 |
Працює по понеділках з 8:00 до 16:00, але в грудні працює по понеділках з 8:00 до 12:00 |
Місяці також можуть бути обʼєднані або розтягнуті в часі, як і дні тижня.
opening_hours=Mo 08:00-16:00; Jan-Mar Mo 08:00-12:00 |
Працює по понеділках з 8:00 до 16:00, але в січні-березні працює по понеділках з 8:00 до 12:00 |
Значення
Перед тим, як використовувати часові обмеження до ліній , ознайомтесь з Key:access.
Будь ласка, використовуйте англійські скорочення для днів тижня та місяців.
Приклади
24/7
- Застосовується до: будь-які обʼєкти (з відповідними теґами), що працюють цілодобово, 24 години на день, 7 днів на тиждень
- Показується на мапі: позначка обʼєкта з цифрами 24
- (Примітка: здається, існують деякі розбіжності щодо того, чи включає "24/7" державні свята чи ні, тому безпечніше позначати це явно, наприклад,
"Mo-Su,PH 00:00-24:00"
or"Mo-Su 00:00-24:00; PH off"
замість цього)
Sa-Su 00:00-24:00
- Застосовується до: обʼєкти, які працюють або відкриті тільки у вихідні, але цілодобово, 24 години
Mo-Fr 08:30-20:00
або складніші випадки годин роботи:Mo 10:00-12:00,12:30-15:00; Tu-Fr 08:00-12:00,12:30-15:00; Sa 08:00-12:00
Mo-Su 08:00-18:00; Apr 10-15 off; Jun 08:00-14:00; Aug off; Dec 25 off
- Застосовується до: будь-які обʼєкти, що мають розклад роботи (з відповідними теґами)
- Показується на мапі: ніяк, інформація призначена для опрацювання програмним забезпеченням
Mo-Sa 10:00-20:00; Tu off або Mo-Sa 10:00-20:00; Tu 10:00-14:00
- З винятками в діапазоні днів
- Застосовується до: будь-які обʼєкти, що мають розклад роботи (з відповідними теґами)
- Показується на мапі: ніяк, інформація призначена для опрацювання програмним забезпеченням
sunrise-sunset
- Застосовується до: відкрито щодня від сходу і до заходу сонця.
- Використовуйте круглі дужки для додавання відхилення від сходу або заходу сонця, так, наприклад, парк, що відкривається через 2 години після сходу сонця та зачиняється через 2 години перед заходом сонця позначається таким чином – (sunrise+02:00)-(sunset-02:00)
Su 10:00+
- В неділю, починаючи з 10:00, але невідомо до якого часу, або час припинення роботи не зазначений.
- Застосовується до: будь-які обʼєкти, що мають розклад роботи (з відповідними теґами)
- Показується на мапі: ніяк, інформація призначена для опрацювання програмним забезпеченням
week 1-53/2 Fr 09:00-12:00; week 2-52/2 We 09:00-12:00
- Відкрито з 09:00 до 12:00 щопʼятниці в не парні тижні і в середу в парні тижні
- Застосовується до: будь-які обʼєкти, що мають розклад роботи (з відповідними теґами)
- Показується на мапі: ніяк, інформація призначена для опрацювання програмним забезпеченням
Mo-Sa 08:00-13:00,14:00-17:00 || "за домовленістю"
- В цьому випадку стає в пригоді резервне правило. Воно застосовується для всіх інших випадків, які не зазначені або необумовлені попереднім правилом.
Su-Tu 11:00-01:00, We-Th 11:00-03:00, Fr 11:00-06:00, Sa 11:00-07:00
- Через визначення, що наступні правила перезаписують попередні, години роботи, що закінчуються після опівночі, мають використовувати додаткові визначення, які відділяються комою замість крапки з комою.
Mo-Su,PH 15:00-03:00; easter -2 days off
- Відчинено кожного дня, навіть у святкові дні, але зачинено у Страсну п'ятницю.
Dec 11-Dec 17: Su 10:00-17:00
- Відкрито в третій день Адвенту (який не може бути раніше 11 грудня і пізніше 17 грудня) з 10:00 до 17:00.
- Для ознайомлення з додатковими прикладами дивіться evaluation tool а також документацію до opening_hours.js.
Загальний синтаксис
Положення цього розділу розповсюджуються на більшість випадків. Його мета — дозволити заповнювати значення більшості теґів opening_hours=*
за короткий час, а не пояснювати повний синтаксис. У складніших випадках звертайтесь до повної специфікації, а також до розʼяснень.
Ви можете перевірити себе за допомогою evaluation tool або простішого застосунку – YoHours.
- Легенда
code
— все, що написано саме так (включаючи розділювач літералів- element — має бути замінений на element, синтаксис якого описується і який зазначений як element: на початку рядка, див далі;
- item... — означає, що item може повторюватись, за потреби.
- [ sequence of items ] — означає послідовність елементів, які є необов'язковими;
- | — показує, що треба вибрати один із запропонованих варіантів (із переліку, що поділений цим символом);
- Загальний синтаксис
opening_hours=
rulesets [;
rulesets ]...- Кожен ruleset (набір правил) обробляється один за одним, наступний ruleset може змінювати правила, встановлені попереднім набором.
- rulesets: rule [
||
rule ]...- rule (правила) обробляються один за одним, доки вони збігаються із зазначеними датами або часом, в іншому випадку наступне правило з набору буде використане як резервне.
- rule: range [ status ] [ comment ]
- range: [ years ] dates [
24/7
- Синтаксис для зазначення (необовʼязкових) років
- years: year_range [
,
year_range ]... - year_range: year [
-
year |+
] [/
n ]- Необовʼязковий період з n років може бути зазначений для років, які включатимуться у визначений діапазон, починаючи з першого зазначеного року.
- year: Чотиризначний номер року в григоріанському календарі.
- Синтаксис для зазначення дат (з необовʼязковим зазначенням часу)
- dates: monthly | weekly | daily | variably | holidays
- monthly: monthdays [
- weekly: [
week
,
week_range ]...,
weekday_range ]... - daily: months [
,
monthdays ]... ] - variably: variable_date [
-
variable_date ] - months: Mth [
-
Mth ] - monthdays: dd [
-
dd ] - week_range: ww [
-
ww |+
] [/
n ]- Необовʼязковий період з n тижнів може бути зазначений для тижнів, які включатимуться у визначений діапазон, починаючи з першого, зазначеного у ww номера тижня.
- weekdays: weekday_range [
,
weekday_range ]... | Wd[
n [,
n ]...]
- За днями тижня може зазначатись їхній порядковий номер впродовж місяця; позитивні номери вказують на номер від початку місяця, негативні — номер з кінця місяця:
- наприклад,
Mo-Fr 08:00-09:00
, абоMo[1,3] 08:00-09:00
— означає першого та третього понеділка в зазначений далі час; - наприклад,
Su[1]
— означає першої неділі місяця, абоSu[-1]
— останньої неділі місяця.
- weekday_range: Wd [
-
Wd ] - ww: двозначний номер тижня в діапазоні 01-53, наприклад,
week 25 Mo 08:30-20:00
- dd: двозначний номер дня в діапазоні 01-31, наприклад,
Dec 25
- Mth:
Jan
|Feb
|Mar
|Apr
|May
|Jun
|Jul
|Aug
|Sep
|Oct
|Nov
|Dec
- Трилітерне скорочення місяця англійською, наприклад,
Dec 25
- Трилітерне скорочення місяця англійською, наприклад,
- Wd:
Mo
|Tu
|We
|Th
|Fr
|Sa
|Su
- Дволітерне скорочення назви дня тижня англійською, наприклад,
Fr 08:30-20:00
- Дволітерне скорочення назви дня тижня англійською, наприклад,
- yearly_fest:
easter
- Наразі єдиним вказаним щорічним святковим днем є Великдень (якщо вважати християнський григоріанський календар).
- variable_date: yearly_fest [ sign n
days
], наприклад,easter -2 days 08:00-17:00
— для зазначення годин роботи в пʼятницю перед Великоднем, абоeaster +49 days 08:00-17:00
про години роботи на Пʼятидесятницю/Трійцю. - holidays:
PH
|SH
PH
(Public holiday) — святкові вихідні дні (залежно від місцевості, потрібні відповідні дані для країни/місцевості);SH
(Scholar holiday) — шкільні канікули (залежно від місцевості, потрібні відповідні дані).
- Синтаксис для зазначення часу
- times: time_range [
,
time_range ]... - time_range: time [
-
time |+
]- Така конструкція може використовуватись замість "до останнього гостя" —
12:00+
.
- Така конструкція може використовуватись замість "до останнього гостя" —
- time: fixed_time | variable_time
- fixed_time: HH
:
mm - variable_time: event |
(
event offset_time)
- event:
dawn
|sunrise
|sunset
|dusk
- Зауважимо, що час заходу та сходу сонця вимагає геолокації для обчислення кутової висоти положення сонця та кутового підйому спостережуваного горизонту (що також залежить від висоти). Вони можуть бути вирахувані на рівні моря під час геодезичного моделювання або просто оцінені приблизно за місцевим часом (за країною та часовим поясом).
- offset_time: sign hh
:
mm - hh: Відносне двозначне число годин у діапазоні 00-48, наприклад,
(sunrise+01:00)-12:00
. - HH: Абсолютне двозначне число годин (кількість годин на день в форматі 24:00, не am/pm) в діапазоні 00-23, наприклад,
Fr 08:30-20:00
. - mm: Двозначне число хвилин (за годину) в діапазоні 00-59, наприклад,
Fr 08:30-20:00
.
- Інші загальні синтаксичні елементи, які використовуються для зазначення дат і часу
- sign:
+
|-
- n: Позитивне ціле число.
- Синтаксис додаткових модифікаторів
- status:
unknown
|open
|closed
|off
unknown
: початковий стан, відкрито або зачинено — невідомий, крім випадків, коли наступні інструкції вносять зміни в розклад (може також використовуватися для зміни попереднього явного зазначеного стану — відкрито або зачинено);open
: відкрито або працює в зазначені дні та час (або постійно працює, якщо час не зазначений), крім випадків, коли наступні інструкції вносять зміни в розклад, зазначаючи інший регламент роботи;closed
абоoff
: зачинено в зазначені дні та час (або постійно зачинено, якщо час не зазначений), крім випадків, коли наступні інструкції вносять зміни в розклад, зазначаючи інший регламент роботи;- В кожному правилі (rule) із першого набору правил (ruleset) значення теґу (включаючи резервні значення або fallbacks), якщо status явно не зазначений для вказаного діапазону (range), мається на увазі –
open
, залишаючи всі незазначені дати та час зі статусомunknown
; отриманий розклад потім послідовно змінюється кожним наступним набором правил (ruleset).
- comment:
"
text"
- Короткий коментар (все, що розміщене між
"
, але не має містити будь-яких"
в середині) показує обмеження, що застосовуються, наприклад,"тільки діти"
,"обмежений сервіс"
, або"замовлення телефоном"
,reservation=*
. - Цей коментар призначений для показу в застосунках, а не для автоматичного опрацювання. Мова коментаря не зазначається в значенні теґу, але може вказуватись (для потреб локалізації) теґами, ключі яких містять додатковий суфікс мови.
- Короткий коментар (все, що розміщене між
Синтаксис
wd
день тижня, доступні значення:Mo
·Tu
·We
·Th
·Fr
·Sa
·Su
(напр.,Fr 08:30-20:00
)hh
година, завжди двозначний номер із розрахунку 24 години, у формат "hh:mm
" · (напр.,Fr 08:30-20:00
)mm
хвилини, завжди двозначний номер у форматі "hh:mm
" (напр.,Fr 08:30-20:00
)mo
місяць, доступні значення:Jan
·Feb
·Mar
·Apr
·May
·Jun
·Jul
·Aug
·Sep
·Oct
·Nov
·Dec
· "mo md
" (напр.,Dec 25
)md
день місяця, завжди двозначний номер у вигляді · "mo md
" (напр.,Dec 25
)we
номер тижня, завжди двозначний номер в діапазоні 01-53, у вигляді "week we" (напр.,week 25 Mo 08:30-20:00
)SH
шкільні канікули, може використовуватися для позначення інших годин роботи під час шкільних канікул (напр.,Mo-Fr 08:00-09:00,14:00-15:00; SH off
)[1]PH
святкові дні, може використовуватися для позначення інших годин роботи під час свят (напр.,Mo-Fr 09:00-17:00; PH 10:00-12:00; PH Su off
)[1]
- Зазначений вище приклад означає, що звичайним розкладом роботи є з понеділка по п'ятницю з 9 ранку до 5 вечора, окрім свят, коли робочі години з 10 ранку і до полудня, крім свят, що припадають на неділю, коли установа не працює.
Загальний синтаксис: hh:mm-hh:mm
(напр., 08:30-20:00
).
Загальний синтаксис із використанням днів тижня: wd hh:mm-hh:mm
(напр., Fr 08:30-20:00
).
Загальний синтаксис для дня місяця: mo md: hh:mm-hh:mm
(напр., Dec 25: 08:30-20:00
). Зауважте, що двокрапка після дня місяця є необов’язковою, про що йдеться в Key:opening_hours/specification.
Загальний синтаксис для періодів у кілька місяців: mo-mo: wd hh:mm-hh:mm
(напр., Jun-Aug: Su 10:30-16:00
для зазначення робочого часу у неділю впродовж червня, липня та серпня). Зауважте, що двокрапка після місяця є необов’язковою, про що йдеться в Key:opening_hours/specification.
Загальний синтаксис з використанням номера тижня: week we: wd hh:mm-hh:mm
(напр., week 25: Mo 08:30-20:00
). Зауважте, що двокрапка після тижня є необов’язковою, про що йдеться в Key:opening_hours/specification.
Правила
- Безперервний режим роботи [завжди вимагає значення відкривається-зачиняється] розділяється "
-
" · (напр.,08:30-20:00
) - Безперервний режим роботи впродовж тижня розділяється "
-
" · (напр.,Mo-Fr
) - Безперервний режим роботи між датами розділяється "
-
" · (напр.,Dec 20-26
) або (напр.,Dec 20-Jan 06
) - Відкрито з періодичністю "n" протягом діапазону днів поспіль, за діапазоном слідує "
/n
" (напр.,02-30/n
) - Безперервний режим роботи впродовж кількох тижнів розділяється "
-
" · (напр.,week 01-26
) - Відкрито з періодичністю "n" протягом діапазону тижнів поспіль, за діапазоном слідує "
/n
" (напр.,week 02-52/n
) - Діапазони в днях розділяються комою "
,
" · (напр.,Mo,We,Fr
) - Діапазони в годинах розділяються комою "
,
" · (напр.,08:30-14:00,16:30-20:00
) - Різні діапазони годин в різні дні розділяються крапкою з комою "
;
" (напр.,Mo-Sa 13:30-15:00,17:00-20:00, Tu-Sa 08:00-12:00; Th 11:00-16:00,17:00-19:00
)
- читається як: робочі години в ці дні; робочі години в ці дні
- Вихідний день впродовж тижня зазначається у вигляді "
wd off
" (напр.,Tu off
) - Діапазон вихідних днів зазначається у вигляді "
wd-wd off
" (напр.,Tu-Th off
) - Зачинено впродовж місяця "
mo off
" (напр.,Aug off
) - Зачинено впродовж кількох місяців "
mo-mo off
" (напр.,Aug-Sep off
) - Неробочий день зазначається як "
mo md off
" (напр.,Dec 25 off
) - Діапазон неробочих днів зазначається як
- "
mo md-md off
" (напр.,Dec 24-26 off
) - "
mo md - mo md off
" (напр.,Dec 25-Jan 06 off
)
- "
- Виключення з робочих днів, спочатку зазначається діапазон робочих днів, потім виключення
- (напр.,
Mo-Sa 10:00-20:00; Tu off
) - (напр.,
Mo-Sa 10:00-20:00; Tu 10:00-14:00
) - (напр.,
Mo-Fr 08:00-12:30; We 14:00-17:00
)
- (напр.,
- Означає, що в прикладі
Mo-Fr 08:00-12:30; We 14:00-17:00
, в середу магазин працює тільки в зазначений час, який не є додатковими годинами роботи до звичайного розкладу.
- Якщо це перший або останній день діапазону, немає потреби у виключеннях, зазначайте як звичайно (напр.,
Mo-Fr 10:00-20:00; Sa 10:00-14:00
) - Дні тижня, які не є послідовними або напівпослідовними, позначаються як
wd[x]
(напр.,Su[3] 09:00-12:00
)
- Означає, що заклад відкрито кожної третьої неділі місяця з 9 до півдня.
- Використовуйте "
-1
", щоб позначити останній день в місяці; напр.,Aug Th[-1]
означає останній четвер серпня. - Можна використовувати групові позначення, (напр.,
Su[1,3,5] та Su[1-3]
)
- Якщо установа працює цілодобово в певні дні (напр.,
00:00-24:00
) - У випадку 24 годинної роботи впродовж всього тижня використовується запис:
24/7
.
- В такому випадку може показуватись спеціальна позначка.
- Спеціальне значення для позначення сходу сонця:
sunrise
. - Спеціальне значення для позначення заходу сонця:
sunset
. - "+" після часу означає, що "від" цього часу або "доки не зачиниться" (напр.,
Sa 22:00+
абоSa 18:00-22:00+
)
Дивіться специфікацію формату для отримання подробиць.
Загальні помилки
Поимлково ![]() |
Вірно ![]() |
Примітки ![]() |
---|---|---|
7/8-23
|
Mo-Su 08:00-23:00
|
|
0600-1800
|
06:00-18:00
|
|
07;00-2;00pm
|
07:00-14:00
|
|
08.00-16.00, public room till 03.00 a.m
|
08:00-16:00 open, 16:00-03:00 open "public room"
|
|
09:00-21:00 TEL/072(360)3200
|
09:00-21:00 "для дзвінків"
|
Додайте contact:phone=072-360-3200 номер телефону для дзвінків в значення відповідного теґу
|
10:00 - 13:30 / 17:00 - 20:30
|
10:00-13:30,17:00-20:30
|
|
April-September;
|
Apr-Sep:
|
|
Dining in: 6am to 11pm;
|
06:00-23:00 open "Dining in" ||
|
Використання двох теґів має перевагу в тому, що вони можуть бути зрозумілі програмному забезпеченню, наприклад, щоб попередити користувача, що після прибуття буде доступне лише обслуговування клієнтів в автомобілях. |
MWThF: 1200-1800; SaSu: 1200-1700
|
Mo,We,Th,Fr 12:00-18:00; Sa-Su 12:00-17:00
|
|
BAR:
|
Tu-Th 20:00-03:00 open "Клуб та бар";
|
|
Su-Th 11:00-03:00; Fr-Sa 11:00-05:00
|
Su-Th 11:00-03:00, Fr-Sa 11:00-05:00
|
Останній приклад |
Mo-Su,PH 08:00-20:00; 2025 May 15 - closed
|
closed; 2020 Jan 01 - 2025 May 15 Mo-Su,PH 08:00-20:00
|
Невизначені діапазони дат (наприклад, коли магазин оголосив про закриття в майбутньому) неможливі. Замість цього, інвертуйте умову і використовуйте дату початку в минулому. |
Mo-We 17:00-01:00; Th,Fr 15:00-01:00; PH,Sa,Su off
|
Mo-We 17:00-01:00, Th,Fr 15:00-01:00; PH 01:00-01:00 off
|
Використовуйте додаткові правила. Ви не можете сказати "Sa,Su off", тому що це встановить час "Sa 00:00-01:00" як закритий.
Те ж саме у святкові дні, але ми повинні залишатися закритими між 00:00-01:00 наступного дня. Отже, "off" на 24 години, починаючи з 01:00. |
Негригоріанські календарі
Дискусія щодо використання негригоріанських календарів також мала місце, див. “Opening hours syntax for non Gregorian calendar”. 17 May 2019 .
Використання з дорогами
Хоча обмеження на основі часу також позначаються теґом access:conditional=*
, мапери також надають перевагу/також додають opening_hours=*
до highway=*
, оскільки ця схема, зазвичай з використанням додатних значень замість відʼємних, має багато переваг над access:conditional=*
у випадках, коли елемент закритий для всіх Transport mode restrictions|видів транспорту у певні моменти часу:
- не потрібно повторювати теґи закриття для всіх позначених видів транспорту (
foot:conditional=*
+bicycle:conditional=*
) +horse:conditional=*
+ .., які необхідні, оскільки теґfoot=yes
, специфічний для певного виду пересуваеея, перезаписує загальний теґaccess:conditional=no @ …
.) - простіше теґування додатними значеннями для звичайних годин роботи (наприклад,
Mo-Fr 07:00-19:00; Su 10:00-17:00
; відʼємні значення уaccess:conditional=*
можуть давати неочікувані результати у випадках з різними режимами у різні дні у день зміни режиму, коли закриття відбувається після опівночі - простіше явно вказати, що було встановлено, що шлях дійсно відкритий у всі дні та години (
opening_hours=24/7
) для випадків, коли це не є очевидним, наприклад, для шляхів у заповідниках, де багато шляхів закриваються після заходу сонця або сезонно (багато шляхів без теґу access-conditional-tag в OSM насправді закриваються у визначений час)
пересування* простіше вказати в одному тезі, що елемент дійсно закритий для всіх способів пересування (з теґом access:conditional для всіх способів пересування потрібно оцінювати теґи для всіх різних способів пересування)
- більше підтримки для перевірки / валідації результатів синтаксису (приклад)
- більше підтримки для візуалізації поточного стану (відкритий/закритий); приклад.
Поточне використання opening_hours на дорогах
Більш точне порівняння використання з highway=*
потребує подальшого аналізу, оскільки access:conditional=*
використовується не лише для обмежень на основі часу, але й для інших типів обмежень, таких як довжина, вага або погодні умови. Однак це порівняння найбільш часто використовуваних значень може бути ілюстративним:
- Зараз
opening_hours=sunrise-sunset
використовується трохи частіше наhighway=*
ніжaccess:conditional=no @ (sunset-sunrise)
: 5.6k; ohsome проти 5.4k; ohsome
Підтримка в навігаторах
- Graphhopper не підтримує використання opening_hours на шляхах, і не збирався такого робити станом на березень 2024. Натомість він підтримує access:conditional
Впровадження
JavaScript
Реалізація JavaScript від User:Ypid:
- Скрипт Python для пошуку за допомогою регулярних виразів та завантаження значень, які не можуть бути оброблені в JOSM (опис в README).
- Дотримується специфікації, що була створена Netzwolf.
- Засновано на коді, створеному AMDmi3.
Інші реалізації:
- Web to OSM Hours of Opening — Інструмент для копіювання та вставки (майже) будь-якого вмісту вебсайту та отримання пристойно відформатованого рядка opening_hours-string. Відвідайте GitHub!
Java
- OpeningHoursParser Бібліотека парсеру
- OpeningHoursEvaluator Оцінювач OH на основі вищезазначеного
- OpeningHoursFragment Бібліотека редактора Android OH.
- opening-hours-evaluator Бібліотека для перевірки, чи відкрито в певний час відкриття_годин, використовує для розбору OpeningHoursParser
Kotlin
- osm-opening-hours Парсер (багатоплатформовий JVM, JS, нативний)
PHP
- PHP code in SVN для розбору opening_hours.
- Services_Openstreetmap, PEAR PHP-пакунокдля роботи з OpenStreetMap (OSM) API, підтримує розбір широкого спектру синтаксису годин роботи з прикладами.
Python
- KOpeningHours Парсер і валідатор
- pyopening_hours Обгортка для реалізації JavaScript (не підтримується, зламана станом на 2024 рік, див. https://github.com/opening-hours/pyopening_hours/issues/3 )
- humanized_opening_hours Перекладач на людський опис, кількома мовами[2] (не підтримується)
- opening-hours-py привʼязки парсера та оцінювача з Rust crate
C++/Qt
- KOpeningHours Синтаксичний аналіз, валідація та оцінка (стан на певний момент часу, ітерації через певні проміжки часу)
Rust
- opening-hours-rs синтаксичний аналізатор та бібліотека оцінок (див opening-hours-syntax якщо вам потрібен тільки парсер)
CartesApp
Cartes.app використовує цей ключ для вибраних користувачем POI, показуючи зелені, червоні або білі крапки залежно від того, чи припадає час на період відкриття або закриття, або якщо POI не має часу, вказаного у тегу opening_hours.
OsmAnd

OsmAnd використовує цей теґ на екрані пошуку POI. Реалізація зараз містить більше значень (таких як місяць та дату), що були додані разом з підтримкою умовних обмежень.
Години роботи для Ulm, Neu-Ulm та околиць

Веб-застосунок доступний за посиланням http://ulm-oeffnungszeiten.creal.de. На мапі показуються години роботи. Сирці застосунку вільно розповсюджуються на GitHub. Процес адаптації до інших міст описаний в документації на GitHub.
Інші мапи та застосунки
Вебзастосунки:
- openingh.openstreetmap.de / openingh.ypid.de, мапа з шаром для теґу opening_hours.
- OsmAPP - універсальний інструмент для перегляду/редагування, показує `opening_hours` на кожному об'єкті, а з 9/2024 пропонує зручний редактор для простіших випадків (скріншоти редактора)
Мобільні застосунки:
- My Opening Hours для Android пристроїв
- Vespucci, повнофункціональний OSM-редактор для Android, що включає спеціальний інтерфейс годин роботи, який підтримує дуже складні варіанти годин роботи
- StreetComplete, дружній до новачків OSM-редактор, що дозволяє збирати, серед інших даних, інформацію про години роботи.
Інструменти:
- статистика Візуалізація якості даних та їх зростання з часом.
- YoHours, вебсайт для створення годин роботи шляхом перетягування часових інтервалів на календарі.
- https://webmapping.cyou/WebToOSMOH/ можна використовувати для конвертації/вилучення вільних текстових годин роботи у формат OSM за допомогою обробка природної мови.
Рендеринг
У випадку 24/7
, 24 може бути додано до позначки об'єкта.
Інші значення не мають очевидного прикладу та можуть бути доступні через контекстні меню чи іншим чином.
- Мапи, що показують розклад роботи:
Колишні застарілі теґи
Наступні (недокументовані) теґи були визнані застарілими та мають бути замінені на opening_hours=*
. Їхні значення мають бути перетворені на значення описані вище:
Повʼязані теґи
opening_hours:signed=no
— Коли години роботи не розміщені на вивісці, видимій ззовні
Наступні ключі використовують однаковий синтаксис для різних цілей:
collection_times=*
— Час вивезення контейнера для сміття або забирання пошти з поштової скринькиservice_times=*
— Час проведення спеціальних робіт на обʼєкті, який відрізняється від годин роботи, наприклад, релігійної службиbreakfast=*
— Якщо і коли подається сніданокlunch=*
— Якщо і коли подається обідlunch:buffet=*
— Коли подається обіднє менюlunch:menu=*
— Коли є обідній шведський стіл
dinner=*
— Якщо і коли подається вечеряhappy_hours=*
— Час, коли заклад пропонує знижки на алкогольні напоїsmoking_hours=*
Uk:Conditional restrictions також використовуйте синтаксис годин роботи, щоб вказати умови, що базуються на даті та часі.
Якщо місце розташування закрито назавжди, видаліть такий об'єкт, якщо він повністю зник без ризику бути перемальованим. Якщо є залишки, ви можете використовувати тег з префіксом lifecycle prefix, наприклад disused:*=*
або abandoned:*=*
.
Дивіться також
- JOSM/Plugins/OpeningHoursEditor —графічний інтерфейс для редагування значення теґу opening_hours
- Відповідні запити до Sophox:
Зовнішні посилання
Зовнішні посилання
Онлайн-інструменти:
- Openingh.openstreetmap.de — Інструмент для перевірки та оцінки теґів opening_hours
- YoHours — Онлайн-редактор для синтаксису теґів
- WebToOSMOH — Онлайн-конвертер тексту довільної форми у синтаксис opening_hours
- OSM Open — Пошук POI, які відкриті в певний момент часу
Бібліотеки парсерів:
- goodudetheboy/OpeningHoursEvaluator GitHub – Java
- opening-hours/opening_hours.js GitHub – JavaScript/Node.js (приймає інформацію про свята)
- opening-hours/pyopening_hours GitHub – Python (не підтримується)
- remi-dupre/opening-hours-rs GitHub – Rust
- rezemika/humanized_opening_hours GitHub – Python (не підтримується)
- ubahnverleih/simple-opening-hours GitHub – JavaScript
- ujamii/osm-opening-hours GitHub – PHP
- westnordost/osm-opening-hours GitHub – Kotlin Multiplatform
Бібліотеки валідаторів:
- rezemika/oh_sanitizer GitHub – Python
Бібліотеки конвертерів:
- anct-cartographie-nationale/timetable-to-osm-opening-hours GitHub – TypeScript
Бібліотеки редакторів:
- bryceco/OpeningHours GitHub – SwiftUI
- marvinschopf/react-hours GitHub – React
- simialbi/jquery-yohours GitHub – jQuery
- simonpoole/OpeningHoursFragment GitHub – Android
Примітки
- ↑ Jump up to: 1.0 1.1 Святкові дні можна додати в opening_hours.js. Також існує інша система для зазначення святкових днів, дані якої зараз не враховуються в opening_hours.js: Default – це пропозиція щодо встановлення типових значень, таких як обмеження швидкості для певних територій (країн, регіонів, …), а також зазначення святкових днів. Країна, територія (zone) може містити опис типових (default) святкових днів.
- ↑ https://github.com/rezemika/humanized_opening_hours?tab=readme-ov-file#have-nice-schedules