![]() |
VOOZH | about |
| 👁 Image |
| Описание |
|---|
| Описывает, когда что-то открыто или закрыто (для этих данных существует особый стандартный формат). 👁 Изменить это описание на вики-странице. Error creating thumbnail: |
| Группа: свойства |
| URL шаблон |
| https://openingh.openstreetmap.de/evaluation_tool/?EXP=$1 |
| Используется на элементах |
| Смотри также |
| Статус: одобрено👁 Page for proposal |
| Инструменты |
Ключ =* даёт возможность указать время работы практически всему, что имеет так называемые часы работы. Под временем работы понимается время обслуживания, доступности для клиентов. Например, =Mo-Fr 08:00-17:00 указывает, что он открыт ежедневно с понедельника по пятницу, с 8:00 до 17:00. Могут быть указаны и гораздо более сложные случаи.
Key:opening_hours/specification — спецификация разметки.
Proposal:Time domains — исторический документ, в котором есть дополнительная информация об этом ключе.
Часы работы являются свойством, поэтому должны указываться на существующем объекте (например, shop=*, amenity=*, tourism=*). Можно ввести часы работы практически для всего, что имеет известные часы работы. Синтаксис довольно сложный, но он допускает даже некоторые очень сложные правила.
Для большинства картографов, вместо того чтобы пытаться редактировать значения тегов напрямую, лучше использовать специальные инструменты, такие как плагин OpeningHoursEditor в JOSM (может быть добавлено в меню плагина в настройках), встроенный специальный редактор в Vespucci, Go Map!!, OsmAnd, Every Door, выполняя задания на часы работы в StreetComplete либо использовать интернет-сервисы evaluation tool и YoHours.
Эти инструменты позволяют использовать более удобный графический интерфейс для создания текста часов работы, который будет помещен в тег.
Обратите внимание, что некоторые инструменты, такие как Organic Maps, имеют интерфейс с очень ограниченным представлением о синтаксисе часов работы и не будет работать с более сложными данными.
check_date:opening_hours=* — дата последней проверки часов работыsource:opening_hours=* — источник информации (часы работы)opening_hours:url=* — URL‑адрес, по которому текущие часы работы объекта можно посмотреть в интернетеwebsite:*=* — пространство имён для различных интернет‑сайтов👁 Изображение описывает использование дефиса для разделения первого и последнего дня недели в диапазоне, пробел между дневным диапазоном и временным интервалом, а также отмечает, что начальный ноль является обязательным.
Дни недели обозначаются двумя буквами следующим образом:
| Аббр. | День недели |
|---|---|
| Mo | Понедельник |
| Tu | Вторник |
| We | Среда |
| Th | Четверг |
| Fr | Пятница |
| Sa | Суббота |
| Su | Воскресенье |
| =Mo-Fr 08:00-12:00,13:00-17:30 |
| То же, что и выше, но закрыто с 12:00 до 13:00 (на обед) |
Добавьте два временных интервала, в которых они открыты, через запятую и без пробелов (,).
| =Mo,We 08:00-12:00 |
| Открыт по понедельникам и средам с 08:00 до 12:00 |
Добавьте дни недели через запятую и без пробелов (,).
| =Mo-Fr 08:00-12:00,13:00-17:30; Sa08:00-12:00 |
| Также, как указано выше, также открыто в субботу утром |
Добавьте часы работы для каждого дневного диапазона, разделив их точкой с запятой с последующим пробелом (; ).
| =Mo-Fr 08:00-12:00,13:00-17:30; Sa 08:00-12:00; PH off |
| То же, что и выше, но явно обозначено, что закрыто в праздничные дни |
PH как будто это был будний день. Вместо временного диапазона используйте off чтобы сказать, что они закрыты весь день.SH на школьные каникулы. Хотя это редко встречается, вы также можете использовать оба варианта (PH и SH) на одном объекте, например, =Mo-Fr 08:00-12:00,13:00-17:30; Sa 08:00-12:00; PH off; SH off| =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 записывается как и день недели. Поскольку он находится в приоритете по отношению к остальным правилам, он их "переписывает". Для получения дополнительной информации о том, какие правила имеют приоритет, смотрите более подробное руководство.Error creating thumbnail: Обратите внимание, что если организация открыта в определённые дни недели независимо от того, являются ли они праздничными или нет, добавлять PH не нужно.
SH в качестве префикса для дней недели: =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, можно обозначить следующим образом — все они действительны согласно спецификации:
| =Mo 20:00-26:00 |
| Открывается в понедельник в 20:00, закрывается в 2:00 — с использованием расширенного синтаксиса часов |
| =Mo 20:00-02:00 |
| Открывается в понедельник в 20:00, закрывается в 2:00 — используя расширенное продление часов |
Примечание: это может привести к ложному предупреждению в некоторых валидаторах.
| =Mo 20:00-24:00, Tu 00:00-02:00 |
| Открывается в понедельник в 20:00, закрывается в 2:00 — с выделением фрагмента вторника отдельно |
Внимание:
| =Mo 20:00-26:00; Tu 20:00-24:00 |
| Открывается в понедельник и вторник в 20:00, закрывается в полночь(!) |
Поскольку следующие правила приводят к игнорированию предыдущих, правило вторника перезаписывает блок вторника, открытый с 0:00 до 2:00 часов. Обязательно используйте запятую вместо точки с запятой, чтобы расширить правило! В общем, использование запятой почти всегда предпочтительнее.
Напомним, что следующие правила перезапишут предыдущие.
Чтобы обозначить n-й день недели каждого месяца:
| =Mo 08:00-16:00; Mo[2] 08:00-12:00 |
| Открыт по понедельникам с 8:00 до 16:00, а во второй понедельник каждого месяца открыт с 8:00 до 12:00. |
Чтобы обозначить n-й последний день недели каждого месяца:
| =Mo 08:00-16:00; Mo[-2] 08:00-12:00 |
| Открыт по понедельникам с 8:00 до 16:00, а в предпоследний понедельник каждого месяца открыт с 8:00 до 12:00. |
Чтобы обозначить целый месяц:
| =Mo 08:00-16:00; Dec off |
| Открыт по понедельникам с 8:00 до 16:00, но закрыт в декабре. |
Месяц пишется с использованием первых трёх букв его английского названия (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)
Чтобы обозначить день месяца:
| =Mo-Fr 08:00-16:00; Dec 12 off |
| Открыт с понедельника по пятницу с 8:00 до 16:00, закрыт 12 декабря. |
Месяцы можно совмещать с будними днями.
| =Mo 08:00-16:00; Dec Mo 08:00-12:00 |
| Открыт по понедельникам с 8:00 до 16:00, а в декабре открыт по понедельникам с 8:00 до 12:00. |
Месяцы также можно сочетать или использовать промежутки месяцев, как дни недели.
| =Mo 08:00-16:00; Jan-Mar Mo 08:00-12:00 |
| Открыт по понедельникам с 8:00 до 16:00, а с января по март открыт по понедельникам с 8:00 до 12:00. |
24/7
24/7 государственные праздники или нет, поэтому безопаснее отметить это явно, например, Mo-Su,PH 00:00-24:00 или Mo-Su 00:00-24:00; PH off).Sa-Su 00:00-24:00
Mo-Fr 08:30-20:00
Mo-Fr 10:00-12:00,12:30-15:00
Mo 10:00-12:00,12:30-15:00; Tu-Fr 08:00-12:00,12:30-15:00; Sa 08:00-12:00Mo-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 "санитарный день"
sunrise-sunset
(sunrise+02:00)-(sunset-02:00)
Su 10:00+
Apr-Oct: Fr-Su 10:00-18:00
week 1-53/2 Fr 09:00-12:00; week 2-52/2 We 09:00-12:00
10:30-19:00; Jan 01-31/2,Feb 01-29/2,Mar 01-31/2,Apr 01-30/2,May 01-31/2,Jun 01-30/2,Jul 01-31/2,Aug 01-31/2,Sep 01-30/2,Oct 01-31/2,Nov 01-30/2,Dec 01-31/2 07:30-13:30; Su 10:00-13:00; Sa off
Mo-Sa 08:00-13:00,14:00-17:00 || "by appointment"
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
Дополнительные примеры смотрите в evaluation tool и документацию по opening_hours.js.
Mo · Tu · We · Th · Fr · Sa · Su (например Fr 08:30-20:00 (например, Fr 08:30-20:00)Fr 08:30-20:00)Fr 08:30-20:00)Jan · Feb · Mar · Apr · May · Jun · Jul · Aug · Sep · Oct · Nov · Dec · "mo md" (например, Dec 25)Dec 25)Fr 08:30-20:00)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)Tu off)Tu-Th off)Aug off)Aug-Sep off)Dec 25 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 10:00-20:00; Sa 10:00-14:00)
00:00-24:0024/7Это конспект, охватывающий большинство случаев. Его цель — позволить написать большинство тегов часов работы за короткое время, а не объяснять полный синтаксис. Для более сложных случаев обратитесь к тексту под этим разделом, к полной спецификации и дополнительным пояснениям.
Вы можете проверить своё составление с помощью инструмента для оценки evaluation tool или более простого приложения YoHours.
code либо написан буквально как таковой (включая буквальный разделитель — пробел там, где это необходимо; в других местах синтаксиса пробелы используются только для его представления);opening_hours= наборы_правил [ ; наборы_правил ]…
|| оправил ]…
промежуток_времени ] | промежуток_времени | 24/7, диапазон_года ]…- год | + ] [ / n ]
дни_недели ]неделя диапазон_недель [ , диапазон_недель ]… ] диапазон_дней_недели [ , диапазон_дней_недели ]… дни_месяца [ , дни_месяца ]… ]- изменяемая_дата ]-Mth ]-dd ]- ww | + ] [ / n ]
, диапазон_дней_недели ]… | Wd[ n [ , n ]… ]
Mo-Fr 08:00-09:00, or Mo[1,3] 08:00-09:00;Su[1] означает первое воскресенье месяца, а Su[-1] означает последнее воскресенье месяца.- Wd ]week 25 Mo 08:30-20:00Dec 25Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec
Dec 25Mo | Tu | We | Th | Fr | Sa | Su
Fr 08:30-20:00easterdays ], например easter -2 days 08:00-17:00 для указания часов работы в Страстну́ю пятницу, или easter +49 days 08:00-17:00 для часов работы на Error creating thumbnail: День Святой Троицы.PH | SH
, диапазон_времени ]…- время | + ]
12:00+.: mm( событие время_смещения )dawn | sunrise | sunset | dusk
: mm(sunrise+01:00)-12:00.Fr 08:30-20:00.Fr 08:30-20:00.+ | -unknown | open | closed | off
unknown: начальное открытое или закрытое состояние, за исключением последующих дат и времени отмены (также может использоваться для отмены предыдущего явного открытого или закрытого состояния);open: открываться в указанные даты и время (или постоянно, если время не указано), за исключением следующих дат и времени;closed или off: закрыты в указанные даты и время (или постоянно, если время не указано), за исключением следующих дат и времени;open, оставляя все другие неопределенные даты и время как unknown; итоговое расписание затем последовательно модифицируется каждым последующим набором_правил."текст"
", но не содержащий внутри текста других кавычек ") показывающий применимые ограничения или спецификации, например "только дети", "ограниченное обслуживание", или "бронирование по телефону", reservation=*.Mo · Tu · We · Th · Fr · Sa · Su (например Fr 08:30-20:00)Fr 08:30-20:00)Fr 08:30-20:00)Jan · Feb · Mar · Apr · May · Jun · Jul · Aug · Sep · Oct · Nov · Dec · "mo md" (например Dec 25)Dec 25)week 25 Mo 08:30-20:00)Mo-Fr 08:00-09:00,14:00-15:00; SH off)[1]Mo-Fr 09:00-17:00; PH 10:00-12:00; PH Su off)[1]Общий синтаксис значения может быть:
08:30-20:00).Fr 08:30-20:00).Dec 25: 08:30-20:00).Jun-Aug: Su 10:30-16:00 для указания времени работы по воскресеньям в июне, июле и августе).week 25: Mo 08:30-20:00).Error creating thumbnail: Обратите внимание, что двоеточие не является обязательным, как указано в разделе opening_hours/specification.
08:30-20:00)Mo-Fr)Dec 20-26) or (например Dec 20-Jan 06)02-30/n)week 01-26)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)Tu-Th off)Aug off)Aug-Sep off)Dec 25 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)
Aug Th[-1] означает последний четверг августа.Su[1,3,5] и Su[1-3]00:00-24:0024/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"или =06:00-23:00opening_hours:drive_through=00:00-24:00 |
Преимущество использования двух тегов в том, что они могут быть поняты программным обеспечением (например, для предупреждения пользователя о том, что по прибытии будет открыт только для сквозного проезда). |
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. ).
Хотя ограничения, основанные на времени, также отмечают тегом access:conditional=*, картографы также предпочитают (также добавляют) тег =* на дороги highway=*, поскольку эта схема (обычно использующая положительные значения вместо отрицательных) имеет множество преимуществ перед access:conditional=* в случаях, когда элемент закрыт для всех видов транспорта в некоторые определённые моменты:
foot:conditional=* + bicycle:conditional=* + horse:conditional=* + …, которые необходимы, поскольку специфичный для конкретного вида транспорта foot=yes заменяет общий тег access:conditional=no @ ..)Mo-Fr 07:00-19:00; Sa-Su 10:00-17:00; отрицательные значения в access:conditional=* могут привести к неожиданным результатам в случаях с разными режимами в разные дни в день смены режима и в зависимости от закрытие проходит после полуночи=24/7) для случаев, когда это не требует пояснений, например, для троп в природных зонах, многие из которых закрыты после захода солнца или в зависимости от сезона (многие тропы без обозначения доступа по условию в OSM на самом деле закрыты в определённое время)access:conditional=* необходимо вычислять условия для всех различных видов транспорта)=* на дорогахБолее точное сравнение использования на highway=* требует дальнейшего анализа, поскольку access:conditional=* используется не только для временных ограничений, но и для других типов ограничений, таких как длина, вес или погодные условия. Однако это сравнение наиболее часто используемого значения может быть показательным:
=sunrise-sunset используется немного в большем количестве объектов highway=* по сравнению с access:conditional=no @ (sunset-sunrise): 5.6k; ohsome против 5.4k; ohsomeРеализация на JavaScript от пользователя Ypid:
Carte.app использует этот ключ на выбранных пользователем POI, отображая зелёные, красные или белые точки в зависимости от того, попадает ли время в период открытия или закрытия, или если в POI не указано время, указанное в теге =*.
OsmAnd использует этот тег на экране поиска POI. Реализация только частичная, в настоящее время не поддерживаются даты, номера недель или праздники, но большинство значений должны быть проанализированы.
Веб-приложение доступно на сайте ulm-oeffnungszeiten.creal.de. График работы местности отображается на карте. Исходный код этого приложения под свободной лицензией и доступен через GitHub. Адаптировать приложение к другому городу очень просто и описано на странице GitHub.
(круглосуточно) требует особого подхода, возможно, что-то вроде добавления "24" к значку объекта: 👁 Image
.
Любые другие особые случаи гораздо менее очевидны.
Карты с указанием часов работы:
Следующие (недокументированные) ключи устарели и их следует заменить на =*. Их значение должно интерпретироваться для установки значения нового ключа, как описано выше:
date_on=*date_off=*day_on=*day_off=*Остальные значения не имеют очевидной визуализации и могут быть показаны навигационными программами или через контекстное меню или каким-либо ещё подобным способом.
Примеры сложных случаев и ошибок смотрите в примерах выше.
Не используйте ключевое слово call us (предназначенное для обозначения того, что время работы можно узнать, позвонив им) для обозначения того, что требуется предварительное резервирование мест, запись на прием и другие действия, которые прямо не связаны с временем работы. Используйте для этого reservation=*.
opening_hours:signed=no — часы работы не указаны на табличке, видимой снаружи
Следующие ключи используют один и тот же синтаксис для разных целей:
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 — часы работы мастерской при магазинеcollection_times — время сбора почты из почтовых ящиковservice_times — для церквей и других объектов, которые имеют разное время обслуживания, чем часы работыbreakfast=* — если и когда подаётся завтракlunch=* — если и когда подаётся обед
lunch:buffet=* — когда подаётся обеденное менюlunch:menu=* — когда подается обед по системе "шведский стол"dinner=* — если и когда подаётся ужинhappy_hours — время, когда алкогольные напитки предлагаются со скидкойlunch — время, когда массовый приготовленный регулярный ежедневный обед предлагается со скидкойaccess — ограничения по времениlit — искусственное освещениеsmoking_hours — время, когда курение разрешается в помещенииConditional restrictions — используйте синтаксис также повторно используйте синтаксис часов работы, чтобы указать условия, основанные на дате и времени
Если место закрыто навсегда, то удаляйте такой объект, если он полностью закрыт без риска повторного обозначения на карте. Если что‑то осталось, вы можете использовать тег с префиксом жизненного цикла, например disused:*=* или abandoned:*=*.
Онлайн-инструменты:
Библиотеки парсеров:
Библиотеки валидаторов:
Библиотеки конвертеров:
Библиотеки редакторов: