Cs:Key:opening_hours
![]() |
![]() |
Popis |
---|
Definuje otevírací dobu např. provozovny (pošta, obchod, restaurace) nebo časově omezenou fyzickou přístupnost nějaké služby (bankomat v budově...) ![]() ![]() |
Skupina: Vlastnosti |
Použité na těchto prvcích |
Viz též |
Status: de facto![]() |
Nástroje |
Značka opening_hours=*
popisuje, kdy je objekt otevřený nebo zavřený. Například opening_hours=Mo-Fr 08:00-17:00
určuje, že je objekt otevřený každý den od pondělí do pátku, od 8:00 do 17:00. Je možné značit i mnohem složitější případy.
Před použitím této značky v širším měřítku je vhodné nastudovat si dokumenty Proposed features/Time domains a Key:opening_hours/specification.
Jak mapovat
Otevírací doba je atribut, takže musí být součástí existujícího objektu; např. shop=*
, amenity=*
, tourism=*
. Otevírací dobu je možné zadat téměř u všeho, co má známou provozní dobu. Syntaxe je poměrně složitá, ale umožňuje zadání i některých velmi komplikovaných pravidel.
Uživatelé nemusí zadávat hodnotu přímo, ale mohou použít speciální nástroje, jako je například OpeningHoursEditor plugin v JOSM (lze jej přidat v nabídce pluginů v nastavení), vestavěný speciální editor v aplikacích Vespucci, Go Map!!, OsmAnd, Every Door, StreetComplete nebo webové nástroje evaluation tool a YoHours.
Tyto nástroje umožňují používat uživatelsky přívětivější grafické rozhraní pro tvorbu textu otevírací doby, který se vloží do tagu.
Poznámka: Některé nástroje, jako například Organic Maps, mají rozhraní s velmi omezeným porozuměním syntaxi otevírací doby a selhávají při složitějších datech.
Značky používané v kombinaci
check_date:opening_hours=*
- datum, kdy byla naposledy ověřena otevírací doba;opening_hours:url=*
- URL adresa, kde je možné zobrazit aktuální otevírací dobu objektu;source:opening_hours=*
- pro popis zdroje.
Vysvětlení na příkladu
Otevřeno ve všední dny
Otevřeno od pondělí do pátku od 8:00 do 17:30.
Dny v týdnu se zkracují na 2 písmena takto (používejte jen anglické názvy):
Zkratka | Den v týdnu |
---|---|
Mo | Pondělí |
Tu | Úterý |
We | Středa |
Th | Čtvrtek |
Fr | Pátek |
Sa | Sobota |
Su | Neděle |
Více intervalů
opening_hours= Mo-Fr 08:00-12:00,13:00-17:30
|
Stejné jako výše, ale zavřeno od 12:00 do 13:00. |
Přidejte dva časové intervaly, během kterých je otevřeno, oddělené čárkou bez mezery (,).
Více dnů se stejným časovým intervalem
opening_hours= Mo,We 08:00-12:00
|
Otevřeno v pondělí a středu od 08:00 do 12:00. |
Přidejte dny oddělené čárkou bez mezery (,).
Více dnů a různé časové intervaly
opening_hours= Mo-Fr 08:00-12:00,13:00-17:30; Sa 08:00-12:00
|
Stejné jako výše, navíc otevřeno i v sobotu ráno. |
Přidejte otevírací dobu pro každý den, oddělenou středníkem a mezerou (; ).
Zavřeno během svátků
opening_hours= Mo-Fr 08:00-12:00,13:00-17:30; Sa 08:00-12:00; PH off
|
Stejné jako výše, ale explicitně označeno jako zavřeno během státních svátků. |
- Použijte
PH
jako by to byl všední den. Místo hodin použijteoff
pro sdělení, že je zavřeno. - Použijte
SH
pro školní prázdniny. Můžete také použít současněPH
aSH
u stejného objektu; např.opening_hours=Mo-Fr 08:00-12:00,13:00-17:30; Sa 08:00-12:00; PH off; SH off
Rozdílná otvírací doba během svátků
opening_hours= Mo-Fr 08:00-12:00,13:00-17:30; Sa 08:00-12:00; PH 09:00-12:00
|
Otevřeno během státních svátků od 09:00 do 12:00. |
Jak již bylo řečeno, PH
je jako všední den. Protože je napravo od ostatních pravidel, přepíše je. Více informací o tom, která pravidla mají přednost, viz this more elaborate guide.
Pokud má objekt v některé dny během školních prázdnin jinou otevírací dobu, lze k dnům v týdnu použít předponu SH
, např. opening_hours=Mo-Fr 08:00-12:00,13:00-17:30; Sa 08:00-12:00; SH Mo-Sa 09:00-12:00
(Objekt je otevřen během školních prázdnin od pondělí do soboty od 9:00 do 12:00, ale mimo školní prázdniny má jinou otevírací dobu.)
Otevřeno i po půlnoci
V některých případech jsou místa otevřené i po půlnoci. Například místa, která se otevírají v pondělí ve 20:00 a zavírají po půlnoci ve 02:00, mohou být označena následujícími způsoby - všechny jsou platné a v souladu se specifikací:
opening_hours= Mo 20:00-26:00
|
Otevřeno v pondělí ve 20:00, zavřeno ve 02:00 — používá rozšířenou syntaxi |
opening_hours= Mo 20:00-02:00
|
Otevřeno v pondělí ve 20:00, zavřeno ve 02:00 — používá rozšířenou syntaxi |
Poznámka: U některých validátorů to může vést k falešnému varování. v tom případě je možné použít nasledující syntaxi:
opening_hours= Mo 20:00-24:00, Tu 00:00-02:00
|
Otevřeno v pondělí ve 20:00, zavřeno v úterý ve 02:00 - se značením úterý odděleně. |
Pozor:
opening_hours= Mo 20:00-26:00; Tu 20:00-24:00
|
Otevřeno v pondělí a úterý ve 20:00 a zavřeno o půlnoci. (!) |
Protože následující pravidla způsobují ignorování předchozích, pravidlo pro úterý přepíše blok „úterý otevřeno od 0:00 do 2:00“. Pro rozšíření pravidla použijte čárku místo středníku! Obecně je použití čárky téměř vždy vhodnější.
Výjimka založená na měsíci
Nezapomeňte, že následující pravidla přepíší ta předchozí.
Pro popis n-tého výskytu všedního dne v každém měsíci:
opening_hours= Mo 08:00-16:00; Mo[2] 08:00-12:00
|
Otevřeno v pondělí od 8:00 do 16:00, ale každé druhé pondělí v měsíci otevřeno od 8:00 do 12:00. |
Pro popis n-tého předposledního výskytu všedního dne v každém měsíci:
opening_hours= Mo 08:00-16:00; Mo[-2] 08:00-12:00
|
Otevřeno v pondělí od 8:00 do 16:00, ale v předposlední pondělí každého měsíce otevřeno od 8:00 do 12:00. |
Pro popsání každého dne v měsíci:
opening_hours= Mo 08:00-16:00; Dec off
|
Otevřeno v pondělí od 8:00 do 16:00, ale v prosinci zavřeno. |
Měsíce se zkracují na první tři písmena jejich názvů (používejte jen anglické názvy): Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec.
Pro popis dne v měsíci:
opening_hours= Mo-Fr 08:00-16:00; Dec 12 off
|
Otevřeno od pondělí do pátku od 8:00 do 16:00, ale 12. prosince zavřeno. |
Měsíce lze kombinovat s dny v týdnu.
opening_hours= Mo 08:00-16:00; Dec Mo 08:00-12:00
|
Otevřeno v pondělí od 8:00 do 16:00, ale v prosinci je otevřeno v pondělí od 8:00 do 12:00. |
Měsíce lze také kombinovat nebo překlenovat, podobně jako dny v týdnu.
opening_hours= Mo 08:00-16:00; Jan-Mar Mo 08:00-12:00
|
Otevřeno v pondělí od 8:00 do 16:00, ale v lednu až březnu je otevřeno v pondělí od 8:00 do 12:00. |
Hodnoty
Než použijete tento tag na cestu , prostudujte si klíč access.
Příklady
24/7
- Platí pro: jakákoli zařízení s nepřetržitým provozem (související značky), 24 hodin denně, 7 dní v týdnu
- Vykreslení na mapě: něco jako ikona objektu s číslicí 24
- (poznámka: zdá se, že existuje nějaký nesouhlas zda "24/7" zahrnuje státní svátky nebo ne, takže je bezpečnější to explicitně označit, např:
"Mo-Su,PH 00:00-24:00"
nebo"Mo-Su 00:00-24:00; PH off"
)
Sa-Su 00:00-24:00
- Platí pro: otevřeno pouze o víkendu, ale nepřetržitě, 24 hodin denně
Mo-Fr 08:30-20:00
nebo pro složitější otevírací dobu:
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
- Platí pro: všechna zařízení s otevírací dobou (související značky)
- Vykreslení na mapě: žádné
- Mo-Sa 10:00-20:00; Tu off nebo Mo-Sa 10:00-20:00; Tu 10:00-14:00
- Pro výjimky v určitém rozsahu dnů
- Platí pro: všechna zařízení s otevírací dobou (související značky)
- Vykreslení na mapě: žádné
- sunrise-sunset
- Platí pro: otevřeno každý den mezi východem a západem slunce.
- Pomocí kulatých závorek přidejte časový posun, například park, který se otevírá 2 hodiny po východu slunce a zavírá 2 hodiny před západem slunce (sunrise+02:00)-(sunset-02:00)
- Su 10:00+
- Otevřeno v neděli od 10:00 do neznámé nebo blíže neurčené doby uzavření.
- Platí pro: všechna zařízení s otevírací dobou (související značky)
- Vykreslení na mapě: žádné
- Apr-Oct: Fr-Su 10:00-18:00
- Otevřeno od 10:00 do 18:00 od pátku do neděle, ale pouze od dubna do října.
- May-Sep: Mo-Fr 09:00-18:00; Sa,Su,PH 09:00-16:00; Oct-Apr: Mo-Fr 09:00-17:00; Sa 09:00-15:00
- Příklad jak aplikovat měsíční rozsahy na pravidla o jednotlivých dnech.
- week 1-53/2 Fr 09:00-12:00; week 2-52/2 We 09:00-12:00
- Otevřeno od 9:00 do 12:00 v pátek v lichých týdnech a ve středu v sudých týdnech.
- Platí pro: všechna zařízení s otevírací dobou (související značky)
- Vykreslení na mapě: žádné
- 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
- Otevřeno od 10:30 do 19:00 v sudé dny a od 7:30 do 13:30 v liché dny, v neděli od 10:00 do 13:00 a v sobotu zavřeno.
- Mo-Sa 08:00-13:00,14:00-17:00 || "by appointment"
- Otevřeno od pondělí do soboty od 8:00 do 13:00 a od 14:00 do 17:00, ale jen po dohodě.
- V tomto případě se používá záložní pravidlo. Platí pro všechny případy, které nebyly řešeny předchozími pravidly.
- Su-Tu 11:00-01:00, We-Th 11:00-03:00, Fr 11:00-06:00, Sa 11:00-07:00
- Vzhledem k definici, že následující pravidla přepíší předchozí pravidla, musí časy přesahující půlnoc používat další pravidla, která jsou oddělena čárkou místo středníkem.
- Mo-Su,PH 15:00-03:00; easter -2 days off
- Otevřeno každý den, i o státních svátcích, ale na Velký pátek zavřeno.
- Dec 11-Dec 17: Su 10:00-17:00
- Otevřeno o 3. adventním týdnu od 10:00 do 17:00.
- Mo-Fr 09:00-12:30,13:30-17:00; PH -1 day 09:00-12:30; Sa-Su,PH off
- Otevřeno od pondělí do pátku od 9:00 do 12:30 a od 13:30 do 17:00 s výjimkou všedních dnů před státními svátky a zavřeno o víkendech a státních svátcích.
- Pro více příkladů a kontrolu syntaxe navštivte webové nástroje [1]evaluation tool nebo YoHours a dokumentaci opening_hours.js.
Zjednodušená syntaxe
Zjednodušená syntaxe slouží k rychlému zápisu a popisu většiny situací, které se v praxi vyskytují. Pro složitější zápis, nepravidelnosti, zavedení výjimek (podmínek) apod., je potřeba prostudovat výše zmíněnou úplnou specifikaci a další příklady. Při tvorbě zápisu můžete zkusit použít některou z dostupných pomůcek, jako např. Yohours. Svůj zápis si také můžete ověřit nástrojem pro kontrolu syntaxe.
Aktuální ÚPLNÁ SYNTAXE je k dispozici v textu anglické verze tohoto hesla.
Legenda:
- <element> bude nahrazen syntaxí definovanou dále
- tučný text zůstane zapsán tak jak je, může nabývat hodnot definovaných (vyjmenovaných) níže
- [něco] nepovinný, volitelný prvek (část syntaxe)
- [něco]... tři tečky za hranatou závorkou říkají, že hranatá závorka může být opakována dle potřeby
- něco1 | něco2 říká, že je nutno vybrat některou (právě jednu) z uvedených hodnot
Syntaxe:
- opening_hours = <rozsah> [off] [;<rozsah> [off] ]...
- <rozsah>: open | closed | <denní> | <týdenní> | <měsíční>
- <denní>: [ Mo [md[-md] [, md[-md]]... ] [ <rozmezí> [,<rozmezí>]... ]
- <týdenní>: [week we[,we...|-we[/n]]] Wd[-Wd] [,Wd[-Wd]]... [ <rozmezí> [,<rozmezí>]... ]
- <měsíční>: <měsíce> [<dny>] [ <rozmezí> [,<rozmezí>]... ]
- open: stále otevřeno jako výchozí stav, výjimky definovány následně
- closed: stále zavřeno jako výchozí stav, výjimky definovány následně
- off: čas uzavření (nepřístupnosti), který upravuje (doplňuje předchozí definici času, kdy je otevřeno (např. open; Mo 15:00-16:00 off = otevřeno pořád, ale zavřeno v pondělí 15-16 hod.)
- <rozmezí>: <čas>-<čas>
- <čas>: hh:mm | sunrise | sunset (sunrise = svítání, východ Slunce; sunset = soumrak, západ Slunce)
- <dny>: Wd[-Wd] [,Wd[-Wd]]... | Wd[x[,x]...] (např., Mo-Fr 08:00-09:00 nebo Mo[1,3] 08:00-09:00)
- <měsíce>: Mo-Mo:
- hh: hodiny - pozor, vždy dvojmístné číslo ve 24hod. formátu (ne am/pm)
- mm: minuty - pozor, vždy dvojmístné číslo (např. Fr 08:30-20:00)
- Mo: Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec : měsíc (např., Dec 25)
- md: den v měsíci - pozor, vždy dvojmístné číslo (např., Dec 25)
- Wd: Mo | Tu | We | Th | Fr | Sa | Su : den v týdnu (např., Fr 08:30-20:00)
- we číslo týdne - pozor, vždy dvojmístné číslo v rozsahu 01-53 (např., week 25 Mo 08:30-20:00)
- x řadová číslovka pořadí daného dne v měsíci (např. Mo[1,3] = každé první a třetí pondělí v měsíci)
Syntaxe
- wd den v týdnu, možné hodnoty: Mo · Tu · We · Th · Fr · Sa · Su (např. > Fr 08:30-20:00)
- hh hodina, vždy dvouciferné číslo v 24hodinovém tvaru (bez am/pm), ve formátu "hh:mm" · (např. > Fr 08:30-20:00)
- mm minuta, vždy dvouciferné číslo ve formátu "hh:mm" (např. > Fr 08:30-20:00)
- mo měsíc, možné hodnoty: Jan · Feb · Mar · Apr · May · Jun · Jul · Aug · Sep · Oct · Nov · Dec · "mo md" (např. > Dec 25)
- md den v měsíci, vždy dvouciferné číslo ve tvaru "mo md" (např. > Dec 25)
- we číslo týdne, vždy dvouciferné číslo v rozsahu 01-53, ve formátu "week we" (např. > week 25 Mo 08:30-20:00)
- SH školní prázdniny - může být použito k určení zvláštní otevírací doby o prázdninách (např. Mo-Fr 08:00-09:00,14:00-15:00; SH off)[1]
- PH svátek, může být použito k určení zvláštní otevírací doby ve svátek (např. Mo-Fr 09:00-17:00; PH 10:00-12:00; PH Su off)[1]
- easter velikonoční neděle, může být použito k definici dnů vztahujících se k tomuto relativnímu datu (každý rok v jiný den), viz příklad výše v kapitole Příklady.
- Výše uvedený příklad znamená, že normální otevírací doba je od pondělí do pátku od 9:00 do 17:00, kromě svátků, kdy je otevřeno od 10:00 do 12:00, kromě svátku, který připadne na neděli.
Obecná syntaxe hodnoty je: hh:mm-hh:mm (např. > 08:30-20:00)
Obecná syntaxe hodnoty je: wd hh:mm-hh:mm (např. > Fr 08:30-20:00)
Obecná syntaxe hodnoty je: mo md: hh:mm-hh:mm (např. > Dec 25: 08:30-20:00) Povšimněte si, že dvojtečka je volitelná, jak je uvedeno ve specifikaci.
Obecná syntaxe hodnoty je: mo-mo: wd hh:mm-hh:mm (např. Jun-Aug: Su 10:30-16:00 určuje otevírací dobu v neděli v červnu, červenci a srpnu. Povšimněte si, že dvojtečka je volitelná, jak je uvedeno ve specifikaci.
Obecná syntaxe hodnoty je: week we: wd hh:mm-hh:mm (např. > week 25: Mo 08:30-20:00) Povšimněte si, že dvojtečka je volitelná, jak je uvedeno ve specifikaci.
Pravidla
- Po sobě jdoucí hodiny [vždy od-do] oddělené "-" (např. > 08:30-20:00)
- Po sobě jdoucí dny v týdnu, kdy je otevřeno, oddělené "-" (např. > Mo-Fr)
- Po sobě jdoucí dny v měsíci, kdy je otevřeno, oddělené "-" (např. > Dec 20-26) nebo také (např. > Dec 20-Jan 06)
- Otevřeno s periodou "n" v rozsahu po sobě jdoucích dní v měsíci, rozsah je následován "/n" (např. > 02-30/n)
- Po sobě jdoucí týdny, kdy je otevřeno, oddělené "-" (např. > week 01-26 > definuje první pololetí)
- Otevřeno s periodou "n" v rozsahu po sobě jdoucích týdnů, rozsah je následován "/n" (např. > week 02-52/n > definuje sudé týdny)
- Přerušená otevírací doba ve dnech oddělená "," (např. > Mo,We,Fr)
- Přerušená otevírací doba v hodinách oddělená "," (např. > 08:30-14:00,16:30-20:00)
- Různé časy v různých dnech jsou oddělené ";" (např. > Mo 10:00-12:00,12:30-15:00; Tu-Fr 08:00-12:00,12:30-15:00; Sa 08:00-12:00)
- čte se: tato otevírací hodina pro tento den ; tato otevírací hodina pro tento den
- Den týdne, kdy je zavřeno, bude značen "wd off" (např. > Tu off)
- Rozsah dní v týdnu, kdy je zavřeno, bude značen "wd-wd off" (např. > Tu-Th off)
- Měsíc, kdy je zavřeno, bude značen "mo off" (např. > Aug off )
- Rozsah měsíců, kdy je zavřeno, bude značen "mo-mo off" (např. > Aug-Sep off)
- Den v měsíci, kdy je zavřeno, bude značen "mo md off" (např. > Dec 25 off)
- Rozsah dní v měsíci, kdy je zavřeno, bude značen "mo md-md off" (např. > Dec 24-26 off) nebo "mo md - mo md off" (např. > Dec 25-Jan 06 off )
- Výjimky z rozsahů dní - nejprve rozsah, pak výjimka (např. > Mo-Sa 10:00-20:00; Tu off) nebo (např. > Mo-Sa 10:00-20:00; Tu 10:00-14:00) nebo (např. > Mo-Fr 08:00-12:30; We 14:00-17:00)
- Toto pravidlo tedy říká, že otevírací doba se nepřičítá, například Mo-Fr 08:00-12:30; We 14:00-17:00 znamená, že ve středu je obchod otevřen pouze odpoledne a nikoliv také odpoledne.
- Jedná-li se o první či poslední den rozsahu, pak nepoužívejte pravidlo o výjimce, ale použijte obvyklý tvar (např. > Mo-Fr 10:00-20:00; Sa 10:00-14:00)
- Po sobě nejdoucí, nebo částečně po sobě jdoucí dny v týdnu, budou značeny wd[x] (např. Su[3] 09:00-12:00 > takto se značí třetí neděle v měsíci od 9 do 12 hod.)
- Pomocí -1 se značí poslední den v měsíci (např. > Aug Th[-1] > znamená poslední čtvrtek v červenci)
- Lze použít seskupování (např. > Su[1,3,5]) nebo (např. > Su[1-3])
- Pokud je otevřeno v některé dny non-stop, pak použijte "00:00-24:00" (např. > Mo 00:00-24:00)
- Pokud je otevřeno 24 hodin 7 dní v týdnu, máme pro to zvláštní hodnotu: 24/7
- tímto způsobem můžeme vykreslovat popisovaný prvek zvláštní ikonkou.
- Zvláštní časová hodnota pro označení času, kdy vychází slunce je: sunrise (např. > Mo sunrise-12:00)
- Zvláštní časová hodnota pro označení času, kdy zapadá slunce je: sunset (např. > Fr 12:00-sunset)
- pomocí syntaxe ( <sunrise | sunset> <+ | -> <hh:mm> ) (včetně kulatých závorek !) můžeme vyjádřit časový ofset k sunrise/sunset (např. > (sunrise+02:00)-(sunset-02:00) )
- Znaménko + za časem znamená "od" nebo "otevřený konec" (např. > Sa 22:00+) nebo (např. > Sa 18:00-22:00+)
Více informací najdete v úplné specifikaci.
Časté chyby
Nesprávně ![]() |
Správně![]() |
Poznámka![]() |
---|---|---|
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"
|
Přidejte 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" ||
|
Použití dvou značek má tu výhodu, že je software dokáže pochopit, např. upozornit uživatele, že při příjezdu bude otevřen pouze drive-thru. |
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 "Club and 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
|
Viz poslední příklad |
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
|
Otevřené časové rozsahy (např. když obchod oznámí uzavření v budoucnu) nejsou možné. Místo toho invertujte podmínku a použijte minulý počáteční datum. |
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
|
Použijte dodatečná pravidla. Nemůžete říct „Sa,Su off“, protože by to nastavilo čas „Sa 00:00-01:00“ na zavřeno.
Totéž platí o státních svátcích, když je objekt zavřený mezi 00:00 a 01:00 následujícího dne. Takže „off“ na 24 hodin začíná o 01:00. |
Různé kalendáře
Proběhla diskuse o tom, jak mapovat jiné než gregoriánské kalendáře (“Opening hours syntax for non Gregorian calendar”. 17. květen 2019 .).
Použití na cestách
I když jsou časová omezení také značena access:conditional=*
, uživatelé preferují nebo přidávají ještě opening_hours=*
na highway=*
, protože toto schéma – obvykle používající kladné hodnoty místo záporných – má více výhod oproti access:conditional=*
v případech, kdy je prvek uzavřen pro všechny druhy dopravy po určitou dobu:
- není třeba opakovat značky pro všechny druhy dopravy (
foot:conditional=*
+bicycle:conditional=*
+horse:conditional=*
+ .., protože značkafoot=yes
přepíše všeobecnou značkuaccess:conditional=no @ ..
.) - snadnější označování kladnými hodnotami pro běžnou otevírací dobu (např.
Mo-Fr 07:00-19:00; Sa-Su 10:00-17:00
; záporné hodnoty přiaccess:conditional=*
mohou vést k neočekávaným výsledkům v případech s různými režimy v různé dny, v den změny režimu a když uzavření přesáhne půlnoc - snadnější je explicitně uvést, že bylo stanoveno, že cesta je skutečně otevřená ve všechny dny a všechny hodiny (
opening_hours=24/7
) pro případy, kdy to není samozřejmé, například u stezek v přírodních oblastech, kde je mnoho cest uzavřeno po západu slunce nebo sezónně (mnoho stezek bez značkyaccess:conditional=*
v OSM je ve skutečnosti uzavřeno v určitou dobu) - jednodušší je jednou značkou explicitně uvést, že daný element je skutečně uzavřen pro všechny druhy dopravy (se značkou
access:conditional
musí být ověřeny všechny druhy dopravy) - větší podpora pro kontrolu/validaci výsledků syntaxe (příklad)
- větší podpora pro vizualizaci aktuálního stavu (otevřeno/zavřeno); příklad
Aktuální využití opening_hours na cestách
Přesnější srovnání použití na highway=*
vyžaduje další analýzu, protože značka access:conditional=*
se nepoužívá pouze pro časová omezení, ale také pro jiné typy omezení, jako je délka, hmotnost nebo povětrnostní podmínky. Toto srovnání nejčastěji používaných hodnot by však mohlo být ilustrativní:
- Aktuálně se
opening_hours=sunrise-sunset
používá mírně více nahighway=*
než saccess:conditional=no @ (sunset-sunrise)
: 5.6k; ohsome vs 5.4k; ohsome
Podpora routování
- Graphhopper nepodporuje opening_hours na cestách, a neplánuje to změnit (březen 2024). Místo toho podporuje access:conditional
Implementace
JavaScript
JavaScriptové implementace uživatele Ypid:
- webová aplikace pro kontrolu syntaxe
- zdrojový kód (GitHub)
- Zobrazení elementů se zadanou hodnotou opening_hours nad OSM mapou + vyhodnocení jejich syntaxe
- Python script na vyhledávání prvků se značkou opening_hours pomocí regulárních výrazů a získání hodnot, které není možné vyhodnotit pomocí JOSM (dokumentace: README).
- Původní kompletní specifikace syntaxe od autora Netzwolf.
- Vytvořeno na základě původního kódu vytvořeného AMDmi3.
JavaScriptové knihovny
JavaScriptové knihovny autora AMDmi3 (na kterých je celá práce autora Ypid založena).
- javascript library s širokou škálou funkcí a pěknou dokumentací
- demo
osm24.eu
Web osm24.eu zobrazuje u jednotlivých POI barevným rozlišením aktuální situaci (otevřeno / blíží se zavírací doba / zavřeno). Řešení je současně pro tvůrce zajimavé také tím, že zřetelně zobrazuje objekty, které hodnotu opening:hours nemají vůbec definovanou.

OsmAnd

OsmAnd se pracovat s tagem opening_hours teprve učí. Implementace je ještě nedokonalá, např. neumí pracovat s konkrétními datumy, čísly týdnů apod., ale většinu běžných hodnot analyzuje a interpretuje dobře.
- Zdrojový kód (GitHub)
Otevírací doby na mapě Ulmu a okolí
Webová aplikace dostupná na http://ulm-oeffnungszeiten.creal.de interpretuje otevírací hodiny objektů na mapě města Ulm, Neu-Ulm a okolí. Zdrojový kód této aplikace má svobodnou licenci a je dostupný via GitHub. Přizpůsobení aplikace pro jinou lokalitu (město), je velmi snadné a je popsáno na GitHubu.
Další mapy a aplikace
- OsmAPP – unvierzální aplikace pro zobrazení/editaci mapy, zobrazuje `opening_hours` u každého prvku a od 9/2024 nabízí taky jednoduchý editor (screenshot editoru)
- Hoursome (pro iOS zařízení)
- My Opening Hours (pro Android zařízení)
- osmapa.pl/osm24 - nástroj pro vyhodnocování opening_hours
- web osm24.eu kde je možné také filtrovat různé kategorie zobrazených POI.
- Vizualizace statistik výskytu a kvality dat otevíracích dob.
- YoHours, webová stránka umožňující vytvářet otevírací doby pouhým přetažením časových intervalů na kalendář.
Programování
- PHP kód v SVN pro parsování opening_hours.
- Services_Openstreetmap, PEAR PHP balíček pro práci s OSM API. V široké míře podporuje parsování opening_hours syntaxe - viz příklady.
Vykreslování
V případě značení 24/7 se může na mapě u běžné ikony objevit i malá číslice 24:
Ostatní případy nelze efektivně vykreslit do mapy a proto se nabízí je zpřístupnit uživateli jiným způsobem, např. pomocí kontextového menu apod.
Mapy zobrazující otevírací doby
- Openingh.openstreetmap.de (jen otevřené, jen objekty s nesprávně definovanou hodnotou opening_hours - syntax error)
- osm24.eu
Dřívější zastaralé značky
Následující (nezdokumentované) klíče byly prohlášeny za zastaralé a měly by být nahrazeny značkou opening_hours=*
. Jejich hodnota by měla být interpretována a nastavena jako hodnota nového klíče, jak je popsáno výše:
Podobné značky
opening_hours:signed=no
- pokud otevírací doba není vyvěšena na viditelné venkovní ceduli.
Následující klíče používají stejnou syntaxi pro různé účely:
collection_times=*
- doby svozu u poštovní schránky nebo kontejneru na tříděný odpad.service_times=*
- pro kostely či jiná zařízení, ve kterých se koná pravidelná specifická služba (bohoslužba) a její čas z principu není zcela totožný s otevírací dobou (dobou, kdy je objekt otevřen pro návštěvu).breakfast=*
- zda a kdy se podává snídaně.lunch=*
- zda a kdy se podává oběd.lunch:menu=*
- kdy se podává obědové menu.lunch:buffet=*
- kdy se podává obědový bufet.
dinner=*
- zda a kdy se podává večeře.happy_hours=*
- doba, kdy místo nabízí slevy na alkoholické nápoje.smoking_hours=*
- kouření je povoleno pouze ve vymezeném časovém rozmezí.- lit - zda a kdy je prvek osvětlen.
Podmíněná omezení také používají syntaxi otevírací doby k určení podmínek založených na datu a čase.
Pokud je místo trvale uzavřeno a tento objekt zcela zmizel, smažte ho. Pokud jsou přítomny pozůstatky, můžete použít značku s předponou životního cyklu jako disused:*=*
nebo abandoned:*=*
.
Viz také
- JOSM/Plugins/OpeningHoursEditor - JOSM plugin - grafický editor pro tvorbu značky opening_hours
- YoHours - online editor syntaxe značky opening_hours
- Openingh.openstreetmap.de - nástroj pro validaci vyhodnocení parametrů značky opening_hours
- access - popis přístupnosti daného prvku z hlediska práva.
Poznámky
- ↑ 1.0 1.1 Výchozí dny prázdnin lze přidat do opening_hours.js. Existuje i alternativní systém pro výchozí hodnoty, se kterým aktuálně opening_hours.js nepracuje: Default je návrhem systému výchozích hodnot. Podle tohoto návrhu lze nastavit výchozí hodnoty jako třeba maxspeed pro plochy (země, státy...) ale také pro období prázdnin. Země, zóna se může přihlásit do systému default se svou definicí prázdnin.