RU:Key:opening_hours
![]() |
Описание |
---|
Время, доступное для посещения. ![]() |
Группа: Свойства |
URL шаблон |
https://openingh.openstreetmap.de/evaluation_tool/?EXP=$1 |
Используется на элементах |
Полезные сочетания |
Смотри также |
|
Статус: де-факто |
Инструменты |
|

Ключ opening_hours=* даёт возможность указать время работы практически всему, что имеет так называемые часы работы. Под временем работы понимается время обслуживания, доступности для клиентов. Супермаркеты и магазины открываются и закрываются в разное время в разных странах (а иногда даже в одном городе). В больших городах многие небольшие магазины могут работать круглосуточно. Аптеки, заправки, пивные и рестораны быстрого питания тоже часто работают в режиме 24/7 (без перерывов и выходных). Информация о часах работы может оказаться очень полезной если вы ищете какие-либо типы объектов вечером или ночью.
Данный ключ не предназначен для обозначения условий ограничения доступа (проезда) по времени. Для обозначения таких ограничений используйте Conditional restrictions
Для этих данных существует особый стандартный формат.
Вы можете пометить URL-адрес, по которому можно посмотреть текущие часы работы, добавив тег opening_hours:url=https://example.org/.
Синтаксис довольно сложный, но он позволяет вводить даже очень сложные правила часов работы. Для большинства картографов использование специальных инструментов, таких как плагин OpeningHoursEditor plugin в JOSM (может быть добавлено в меню плагина в настройках), встроенный специальный редактор в Vespucci, Go Map!!, OsmAnd или выполняя задания на часы работы в StreetComplete. Это будет лучше, чем попытка редактировать значения тегов напрямую.
Формальную спецификацию можно найти здесь: opening_hours/specification
Proposed features/Time domains — исторический документ, в котором есть дополнительная информация об этом ключе.
Простые примеры
Открыт по дням недели
Вы должны использовать общепринятые английские сокращения дней, как в этой таблице:
Аббревиатура | День недели |
---|---|
Mo | Понедельник |
Tu | Вторник |
We | Среда |
Th | Четверг |
Fr | Пятница |
Sa | Суббота |
Su | Воскресенье |
Несколько интервалов открытия
opening_hours=Mo-Fr 08:00-12:00,13:00-17:30 |
То же, что и выше, но закрыто с 12:00 до 13:00 |
Добавьте два временных интервала, в которых они открыты, через запятую и без пробела (,
).
Несколько дней с одним и тем же периодом времени
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
как будто это был будний день. Вместо временного диапазона используйтеoff
чтобы сказать, что они закрыты весь день. - Используйте
SH
на школьные каникулы. Хотя это редко встречается, вы также можете использовать оба варианта (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
записывается как и день недели. Поскольку он находится в приоритете по отношению к остальным правилам, он их "переписывает". Для получения дополнительной информации о том, какие правила имеют приоритет, смотрите более подробное руководство.
Обратите внимание, что если организация открыта в определённые дни недели независимо от того, являются ли они праздничными или нет, добавлять
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. |
Совместное использование
Это тег, описывающий свойства объекта, поэтому он должен сопровождаться связанным тегом, например:
- … и другие
Значения тега
- Перед тем как применить тег к линии
изучите тег access.
Анализатор (evaluation tool) и YoHours — это веб-инструменты, которые помогают определить значения для тега. Пожалуйста, используйте английский для названий дней недели и месяцев.
Примеры
24/7
- Применяется к объектам, работающим круглосуточно, 7 дней в неделю, 24 часа в сутки.
- Обозначение на карте: иконка соответствующего объекта с изображением числа 24.
Sa-Su 00:00-24:00
- Применяется к объектам, круглосуточно работающим в выходные.
Mo-Fr 08:30-20:00
- Применяется к объектам, работающим в рабочие дни с 8:30 до 20:00.
Mo-Fr 10:00-12:00,12:30-15:00
- Применяется к объектам, работающим в рабочие дни с 10:00 до 15:00 и имеющие обеденный перерыв с 12:00 до 12:30.
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
- Такой способ применяется чтобы из общего диапазона исключить, например, день недели.
- Применяется к любым объектам с установленным режимом работы.
- Обозначение на карте: иконка соответствующего объекта, возможно с соответствующей подписью.
Mo-Sa 10:00-20:00; We[-1] off "санитарный день"
- Применяется к объектам, работающим с 10 до 20, кроме воскресенья, последняя среда месяца — санитарный день.
sunrise-sunset
- Применяется к объектам, работающим каждый день между восходом и заходом солнца.
(sunrise+02:00)-(sunset-02:00)
- Используйте круглые скобки, чтобы добавить временной сдвиг.
- Например: парк, который открывается через 2 часа после восхода солнца и закрывается за 2 часа до захода солнца
Su 10:00+
- Воскресенье с 10:00 до неизвестного или неуказанного времени закрытия.
- Применяется к: любым объектам с графиком работы (связанные теги)
- Обозначение на карте: ничего, информация анализируется программным обеспечением
Apr-Oct: Fr-Su 10:00-18:00
- Открыто с 10:00 до 18: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 || "by appointment"
- Здесь пригодится fallback rule. Это применимо в любом месте, которое не регулировалось предыдущими правилами.
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
- Открыт в 3-й
Адвент (который не может состояться до 11-го или после 17-го декабря) с 10:00 до 17:00.
- Открыт в 3-й
Дополнительные примеры смотрите в evaluation tool и документацию по opening_hours.js.
Синтаксис
- wd день недели, возможные значения:
Mo
·Tu
·We
·Th
·Fr
·Sa
·Su
(напримерFr 08:30-20:00
(например,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
)
- Общий синтаксис: wd hh:mm-hh:mm (например,
Fr 08:30-20:00
) - Общий синтаксис: mo md hh:mm-hh:mm (например,
Dec 25 08:30-20:00
)
Правила
- Диапазон часов включительно (всегда час открытия и час закрытия) разделены дефисом "-" · (например,
08:30-20:00
) - Диапазон дней недели включительно, разделены дефисом "-" · (например,
Mo-Fr
) - Диапазон дней месяца включительно, разделены дефисом "-" · (например,
Dec 20-26
) или (например,Dec 20-Jan 06
) - Исчерпывающий список дней, значения разделены запятой "," · (например,
Mo,We,Fr
) - Часы от минут разделены двоеточием ":" · (
например, 08:30
) - Список диапазонов часов, значения разделены запятой "," · (например,
8:30-14:00,16: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
)
- подразумевается: "эти часы работы в этот день ; эти часы работы в этот день"
- Исключаемые дни и диапазоны отмечаются словом "off", следующим за соответствующим днём или диапазоном
- день недели: "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
)
- день недели: "wd 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 10:00-20:00; Sa 10:00-14:00
)
- Если режим работы круглосуточный в определённые дни, используйте особый диапазон:
00:00-24:00
- Если режим работы круглосуточный без выходных, используйте особое значение:
24/7
- в этом случае рендерер может отобразить дополнительную иконку.
Синтаксис
Это конспект, охватывающий большинство случаев. Его цель — позволить написать большинство тегов часов работы за короткое время, а не объяснять полный синтаксис. Для более сложных случаев обратитесь к тексту под этим разделом, к полной спецификации и дополнительным пояснениям.
Вы можете проверить своё составление с помощью инструмента для оценки evaluation tool или более простого приложения YoHours.
- Легенда
code
либо написан буквально как таковой (включая буквальный разделитель — пробел- элемент должен быть заменён элементом, синтаксис которого определён в строке, начинающейся с элемент: ниже;
- item… означает, что элемент можно повторять по мере необходимости.
- [ последовательность элементов ] означает, что последовательность элементов не является обязательной;
- | указывает, что необходимо выбрать одну из последовательностей элементов (разделенных этим символом);
- Общий синтаксис
opening_hours=
наборы_правил [;
наборы_правил ]…- Каждый набор правил оценивается по порядку, следующий набор правил, возможно, переопределяет начальное открытое или закрытое состояние, которое могло быть найдено в предыдущих наборах правил.
- наборы_правил: правило [
||
оправил ]…- Каждое правило обрабатывается по порядку до тех пор, пока оно не будет соответствовать указанным датам или времени, в противном случае следующее правило в наборе правил будет проверяться только в качестве запасного варианта.
- правило: диапазон [ статус ] [ комментарий ]
- диапазон: [ годы ] даты [
24/7
- Синтаксис для указания дополнительных лет
- годы: диапазон_года [
,
диапазон_года ]… - диапазон_года: год [
-
год |+
] [/
n ]- Необязательный период в n лет может быть указан для лет, которые будут включены в указанный диапазон, начиная с первого указанного года.
- год: четырёхзначное число года по григорианскому календарю.
- Синтаксис для указания дат (с необязательным временем)
- даты: ежемесячно | еженедельно | ежедневно | переменно | каникулы
- ежемесячно: дни_месяца [
- еженедельно: [
неделя
,
диапазон_недель ]…,
диапазон_дней_недели ]… - ежедневно: месяцы [
,
дни_месяца ]… ] - переменно: изменяемая_дата [
-
изменяемая_дата ] - месяцы: Mth [
-
Mth ] - дни_месяца: dd [
-
dd ] - диапазон_недель: ww [
-
ww |+
] [/
n ]- Необязательный период в n недель может быть указан для недель, которые будут включены в указанный диапазон, начиная с первого указанного номера недели ww.
- дни_недели: диапазон_дней_недели [
,
диапазон_дней_недели ]… | Wd[
n [,
n ]…]
- Дни недели могут сопровождаться порядковыми номерами, считаться положительно с начала месяца или отрицательно с конца месяца:
- Например
Mo-Fr 08:00-09:00
, orMo[1,3] 08:00-09:00
; - Например
Su[1]
означает первое воскресенье месяца, аSu[-1]
означает последнее воскресенье месяца.
- диапазон_дней_недели: Wd [
-
Wd ] - ww: 2-значный номер недели (год по ISO) в диапазоне 01-53, например
week 25 Mo 08:30-20:00
- dd: 2-значный номер дня месяца в диапазоне 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
- Сокращенное название дня недели на английском языке, состоящее из двух букв, например
- ежегодный фестиваль:
easter
- На данный момент единственным переменным документированным ежегодным праздничным днем является Пасха (при условии, что это христианский григорианский календарь).
- переменная дата: ежегодный фестиваль [ знак n
days
], напримерeaster -2 days 08:00-17:00
для указания часов работы в Страстну́ю пятницу, илиeaster +49 days 08:00-17:00
для часов работы наДень Святой Троицы.
- holidays:
PH
|SH
- Государственный праздник (зависит от местоположения, требуются данные по стране/региону); scholar holiday (location dependent, requires data per scholar academy).
- Синтаксис для указания времени
- промежуток_времени: диапазон_времени [
,
диапазон_времени ]… - диапазон_времени: время [
-
время |+
]- Это может использоваться вместо слов «допоздна» или «до последнего покупателя», например
12:00+
.
- Это может использоваться вместо слов «допоздна» или «до последнего покупателя», например
- время: точное_время | переменное_время
- точное_время: HH
:
mm - переменное_время: событие |
(
событие время_смещения)
- событие:
dawn
|sunrise
|sunset
|dusk
- Обратите внимание, что время заката и восхода солнца требует геолокации для вычисления положения углового возвышения солнца и углового возвышения наблюдаемого горизонта (которое также зависит от высоты). Они могут быть аппроксимированы на уровне моря на моделирующем геоиде или просто приблизительно рассчитаны по местному времени (для страны и часового пояса).
- время_смещения: знак hh
:
mm - hh: Относительное 2-значное число часов в диапазоне 00-48, например
(sunrise+01:00)-12:00
. - HH: Абсолютное 2-значное число часов (в день, в 24-часовом формате, без утра / вечера) в диапазоне 00-23, например
Fr 08:30-20:00
. - mm: 2-значное число минут (в часах) в диапазоне 00-59, например
Fr 08:30-20:00
.
- Другие общие синтаксические элементы, используемые для настройки даты и времени
- знак:
+
|-
- n: Положительное целое число.
- Синтаксис необязательных модификаторов
- статус:
unknown
|open
|closed
|off
unknown
: начальное открытое или закрытое состояние, за исключением последующих дат и времени отмены (также может использоваться для отмены предыдущего явного открытого или закрытого состояния);open
: открываться в указанные даты и время (или постоянно, если время не указано), за исключением следующих дат и времени;closed
илиoff
: закрыты в указанные даты и время (или постоянно, если время не указано), за исключением следующих дат и времени;- В каждом правиле первого набора правил значения тега (включая резервные), если статус явно не указан в указанном диапазоне, предполагается, что он подразумевается как
open
, оставляя все другие неопределенные даты и время какunknown
; итоговое расписание затем последовательно модифицируется каждым последующим набором_правил.
- комментарий:
"
текст"
- Короткий комментарий (заключённый в кавычки
"
, но не содержащий внутри текста других кавычек"
) показывающий применимые ограничения или спецификации, например"только дети"
,"ограниченное обслуживание"
, или"бронирование по телефону"
, reservation=*. - Этот комментарий предназначен для отображения в приложениях, а не для автоматической интерпретации. Язык, используемый в этом комментарии, не определяется самим значением тега, но он может быть указан (для целей локализации) тегами, ключ которых содержит суффикс кода языка.
- Короткий комментарий (заключённый в кавычки
Синтаксис
- wd день_недели, возможные значения:
Mo
·Tu
·We
·Th
·Fr
·Sa
·Su
(напримерFr 08:30-20:00
) - hh час, всегда двухзначный номер в 24-часовом формате (без am/pm), в формате "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:00 до 17:00, кроме государственных выходных с 10:00 до 12:00, кроме государственных праздников, приходящихся на воскресенье.
Общий синтаксис значения может быть:
- 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
). - mo-mo: wd hh:mm-hh:mm (например
Jun-Aug: Su 10:30-16:00
для указания времени работы по воскресеньям в июне, июле и августе). - week we: wd hh:mm-hh:mm (например
week 25: Mo 08:30-20:00
).
Обратите внимание, что двоеточие не является обязательным, как указано в разделе opening_hours/specification.
Правила
- Последовательные часы [всегда нужно указать время открытия-закрытия] разделённых дефисом "-" · (например
08:30-20:00
) - Рабочие дни подряд открываются разделённые "-" · (например
Mo-Fr
) - Последовательные дни месяца, разделённые "-" · (например
Dec 20-26
) or (например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 10:00-12:00,12:30-15:00; Tu-Fr 08:00-12:00,12:30-15:00; Sa 08:00-12:00
)
- читается как: часы работы в эти дни; часы работы в эти дни
- Выходной вторник день будет отмечен как (например
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:00 до 12:00.
- Напишите -1, чтобы указать последний день месяца, например
Aug Th[-1]
означает последний четверг августа. - Можно использовать группировку, например
Su[1,3,5]
иSu[1-3]
- Если часы работы заведения открыты весь день в определённые дни, то указывайте, например
00:00-24:00
- Если это 24 часа 7 дней в неделю, то в этой случае есть конкретное значение:
24/7
.- Такое значение тега может отображать определенный значок в некоторых картах.
- Специальное значение времени для обозначения времени восхода солнца:
sunrise
. - Специальное значение времени для обозначения времени заката солнца:
sunset
. - Плюс
+
после времени означает "от" или "открытое конечное время" (напримерSa 22:00+ or 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 "call us" |
Добавьте тег contact:phone=* |
10:00 - 13:30 / 17:00 - 20:30 |
10:00-13:30,17:00-20:30 |
|
April-September; Mo-Fr 09:00-13:00, 14:00-18:00, Sa 10:00-13:00 |
Apr-Sep: Mo-Fr 09:00-13:00,14:00-18:00; Apr-Sep: Sa 10:00-13:00 |
|
Dining in: 6am to 11pm; Drive thru: 24/7 |
06:00-23:00 open "Dining in" || 00:00-24:00 open "Drive-through" |
|
MWThF: 1200-1800; SaSu: 1200-1700 |
Mo,We,Th,Fr 12:00-18:00; Sa-Su 12:00-17:00 |
|
BAR: Su-Mo 18:00-02:00; Tu-Th 18:00-03:00; Fr-Sa 18:00-04:00; CLUB: Tu-Th 20:00-03:00; Fr-Sa 20:00-04:00 |
Tu-Th 20:00-03:00 open "Club and bar"; Fr-Sa 20:00-04:00 open "Club and bar" || Su-Mo 18:00-02:00 open "bar" || Tu-Th 18:00-03:00 open "bar" || Fr-Sa 18:00-04:00 open "bar" |
|
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-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 off |
Используйте дополнительные правила. Вы не можете написать "Sa,Su off", потому что в этом случае время "Sa 00:00-01:00" будет закрыто. |
Негрегорианские календари
Было некоторое обсуждение того, как отображать не григорианские календари. (“Opening hours syntax for non Gregorian calendar”. 17 Мая 2019 .).
Реализация
JavaScript
Реализация на JavaScript от пользователя Ypid:
- Инструмент для оценки evaluation tool
- Исходный код opening_hours.js
- Карта, показывающая opening_hours
- Скрипт Python для поиска с регулярным выражением и загрузки значений, которые не могут быть оценены в JOSM (документация в README).
- Соответствует формату спецификации первоначально созданной Netzwolf.
- На основе первоначального кодирования и дизайна, выполненного AMDmi3.
- Web to OSM Opening Hours — инструмент для копирования и вставки (почти) любого содержимого веб-сайта и получения прилично отформатированной строки opening_hours. Содействие приветствуются на OSM-de/WebToOSMOH!
Java
- OpeningHoursParser — библиотека парсера
- OpeningHoursEvaluator — определитель часов чаботы на основе предыдущего парсера
- OpeningHoursFragment — библиотека редактора часов чаботы на Android
- opening-hours-evaluator — библиотека для проверки opening_hours, открыты ли POI в определённое время (использует OpeningHoursParser для анализа)
PHP
- PHP-код в SVN для парсинга opening_hours.
- Services_Openstreetmap, пакет PEAR PHP для работы с OpenStreetMap (OSM) API, поддерживает парсинг многих значений opening_hours, примеры здесь.
Python
- KOpeningHours Парсер и валидатор
- pyopening_hours Обёртка для реализации JavaScript
- osm-opening-hours (неполный, неподдерживаемый)
- oh_sanitizer Корректор неправильного синтаксиса
- humanized_opening_hours Переводчик текстовых описаний (не поддерживается)
- opening-hours-py обвязка парсера и анализатора от Rust crate
C++/Qt
- KOpeningHours Анализ и оценка (статус в определенное время, итерация по интервалам)
Rust
- opening-hours-rs библиотека с парсером и анализатором (смотрите opening-hours-syntax если вам нужен только парсер)
OsmAnd
OsmAnd использует этот тег на экране поиска POI. Реализация только частичная, в настоящее время не поддерживаются даты, номера недель или праздники, но большинство значений должны быть проанализированы.
Часы работы для Ulm, Neu-Ulm и окрестностей
Веб-приложение доступно на сайте ulm-oeffnungszeiten.creal.de. График работы местности отображается на карте. Исходный код этого приложения под свободной лицензией и доступен через GitHub. Адаптировать приложение к другому городу очень просто и описано на странице GitHub.
Больше карт и приложений
- Hoursome для устройств iOS (прекращено)
- My Opening Hours для устройств Android
- osmapa.pl/osm24 — инструмент для парсинга opening_hours
- Cтатистика — визуализация качества данных и роста с течением времени
- YoHours, веб-сайт, чтобы определять часы работы, просто перетаскивая интервалы времени в календаре
- Vespucci, полнофункциональный редактор OSM для Android
- Web to OSM Opening Hours можно использовать для преобразования/извлечения текста часов работы в формат OSM с использованием обработки естественного языка
Программирование
- PHP-код в SVN для синтаксического анализа opening_hours.
- Пакет PEAR PHP для работы с OSM API, поддерживает синтаксический анализ широкого спектра синтаксиса часов работы — с примерами.
- OpeningHoursParser, написанный на Java.
- OpeningHoursFragment библиотека редактора Android OH.
Рендеринг
Пока только в случае обозначения opening_hours=24/7 рендерер может отобразить число 24 на иконке объекта.
Ранее использующиеся теги, теперь устарели
Следующие (недокументированные) ключи устарели и их следует заменить на opening_hours=*. Их значение должно интерпретироваться для установки значения нового ключа, как описано выше:
Смотрите также Conditional restrictions.
Остальные значения не имеют очевидной визуализации и могут быть показаны навигационными программами или через контекстное меню или каким-либо ещё подобным способом.
- Карты, показывающие часы работы:
Программы
- PHP-код для вычисления статуса объекта (открыт/закрыт) по времени и указанному диапазону
- javascript библиотека для вычисления как статуса объекта в любое время, так и времени его следующего изменения
- Онлайн визуальное отображение времени
Примечания и распространённые ошибки
Примеры сложных случаев и ошибок смотрите в примерах выше.
Не используйте ключевое слово call us (предназначенное для обозначения того, что время работы можно узнать, позвонив им) для обозначения того, что требуется предварительное резервирование мест, запись на прием и другие действия, которые прямо не связаны с временем работы. Используйте для этого reservation=*.
Теги, используемые в сочетании
- check_date:opening_hours=* — дата последней проверки часов работы
- source:opening_hours=* — источник информации (часы работы)
- opening_hours:url=* — URL‑адрес, по которому текущие часы работы объекта можно посмотреть в интернете
- website:*=* — пространство имён для различных интернет‑сайтов
Похожие теги
- opening_hours:*=* — пространство имён для различных временных периодов:
- opening_hours:atm — время, когда банкомат внутри места размещения можно использовать
- opening_hours:covid19 — часы работы во время пандемии коронавируса
- opening_hours:drive_through — часы работы обслуживания в машине в ресторане быстрого питания, банке или другом заведении открыт
- opening_hours:kitchen — время, когда кухня открыта и питание можно заказать (например, в ресторане или пабе)
- opening_hours:lifeguard — время, когда спасатель обеспечивает безопасность места у воды (если часы работы отличаются от основных)
- opening_hours:office — часы работы офиса, если отличается от основного времени работы
- opening_hours:pharmacy — часы работы аптеки, если отличается от основного времени работы
- opening_hours:reception — часы работы ресепшна (стойки регистрации)
- opening_hours:store — часы работы магазина, если отличается от основного времени работы
- opening_hours:workshop — часы работы мастерской при магазине
- opening_hours:signed=no — часы работы не указаны на табличке, видимой снаружи
- access — ограничения по времени
- lit — искусственное освещение
- smoking_hours — время, когда курение разрешается в помещении
- lunch — время, когда массовый приготовленный регулярный ежедневный обед предлагается со скидкой
- Если место закрыто навсегда, то удаляйте такой объект, если он полностью закрыт без риска повторного обозначения на карте. Если что‑то осталось, вы можете использовать тег с префиксом жизненного цикла, например disused:*=* или abandoned:*=*.
Смотрите также
- collection_times — время сбора почты из почтовых ящиков
- service_times — для церквей и других объектов, которые имеют разное время обслуживания, чем часы работы
- happy_hours — время, когда алкогольные напитки предлагаются со скидкой
- Openingh.openstreetmap.de — инструмент для проверки и оценки тегов opening_hours
- JOSM/Plugins/OpeningHoursEditor — графический редактор для тега opening_hours
- YoHours — онлайн-редактор синтаксиса тегов
- Web to OSM Opening Hours — онлайн‑конвертер произвольного текста в синтаксис opening_hours
- Conditional restrictions — используйте синтаксис opening_hours для ограничений которые зависят от времени
- Соответствующие запросы Sophox:
Ссылки
- ↑ 1.0 1.1 Праздники по умолчанию можно добавить в opening_hours.js. Существует альтернативная система для значений по умолчанию, которая в настоящее время не анализируется opening_hours.js: Default это предложение для системы значений по умолчанию. Это предложение может устанавливать значения по умолчанию, такие как максимальная скорость для территорий (стран, областей и так далее), А также периоды праздников. Страна, зона может получить значения по умолчанию, такие как определения праздников.