Cs:Key:opening_hours

From OpenStreetMap Wiki
Jump to navigation Jump to search
Public-images-osm logo.svg opening_hours
Neon Internet Cafe open 24 hours.jpg
Popis
Definuje otevírací dobu např. provozovny (pošta, obchod, restaurace) nebo časově omezenou fyzickou přístupnost nějaké služby (bankomat v budově...) Show/edit corresponding data item.
Skupina: Vlastnosti
Vzor URL
https://openingh.openstreetmap.de/evaluation_tool/?EXP=$1
Použité na těchto prvcích
může být použito na uzlumůže být použito na cestěmůže být použito na plošemůže být použito na relaci
Viz též
Status: de facto

an unequal sign

Tato stránka je českým překladem originálu (angličtina), ovšem její obsah se zdá být neúplný nebo neaktuální (obvykle v porovnání s anglickou nebo německou verzí).
Prosím, aktualizujte tento překlad, je-li to možné.

"Otevírací dobu" je možné definovat pro jakýkoliv objekt, který má z principu definovaný pevný časový harmonogram, kdy je v provozu. Typicky jsou to otevírací hodiny obchodů, restaurací, muzeí či provozoven služeb. Uživatel má možnost ověřit si, zda je daná služba v konkrétní hodinu dostupná, může v noci hledat provozovny s non-stop provozem (lékárny, benzinky) apod. Pro případ, že by mohlo dojít ke změně otevírací doby, je možné přidat URL odkaz na web website=*, kde jsou aktuální otevírací hodiny uvedeny, nebo kontaktní telefonní číslo phone=*.

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.

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)

Jak mapovat

Tato značka může být použita jen s jinými logicky odpovídajícími značkami, např.:

Než použijete tento tag na cestu cesta, prostudujte si klíč access.

Příklady

Není-li uvedeno jinak, pak značka opening_hours=* není ve standardní mapě nijak zobrazena - informace mohou využívat samostatné aplikace nebo nadstavby map (okna s podrobnými informacemi apod.)

Uvědomte si, že text opening_hours= nemá být částí hodnoty značky, ale jen odkazuje na klíč.

  • Non-stop provoz 24/7
    Použití: jakýkoliv non-stop otevřený obchod či přístupná služba (nebo odpovídající tag) - 24 hodin denně a 7 dnů v týdnu
    Zobrazení v mapě: běžná ikona doplněna o malé číslice 24
  • Pravidelný provoz Sa-Su 00:00-24:00
    Použití: otevřeno pouze o víkendu (sobota a neděle), zato non-stop
  • Pravidelný provoz Mo-Fr 08:30-20:00
    Použití: otevřeno od pondělí do pátku 8:30-20:00
  • Pravidelný provoz s přestávkami (nutný podrobnější popis otevíracích hodin):
    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
    Použití: jakékoliv místo (nebo odpovídající tag) s otvíracími hodinami či pravidelně se měnící přístupností
  • Mo-Sa 10:00-20:00; Tu off nebo Mo-Sa 10:00-20:00; Tu 10:00-14:00
    Pro výjimky v jednotlivých dnech
  • sunrise-sunset
    Použití: otevřeno vždy po východu Slunce a uzavřeno se západem Slunce (např. služby pro turisty apod.)
    Pozn: je možné použít i časový posun vůči okamžiku sunrise/sunset. Umístěním hodnoty sunrise | sunset do kulaté závorky a přidáním číslovky s matematickým znaménkem + | - můžeme vyjádřit čas relativně vztažený k sunrise/sunset. Např. pro otevření 2 hodiny po východu Slunce a uzavření 2 hodiny před západem Slunce použijeme tento zápis: (sunrise+02:00)-(sunset-02:00)
  • Su 10:00+
    Použití: otevřeno v neděli v 10 hodin dopoledne, zavírací doba je neznámá, zpravidla dle zájmu zákazníků
  • week 1-53/2 Fr 09:00-12:00; week 2-52/2 We 09:00-12:00
    Použití: rozdílné otevírací hodiny v lichých (week 1-53/2) a sudých (week 2-52/2) týdnech - otevřeno 09:00 - 12:00 a to v lichý pátek a sudou středu
  • Mo-Sa 08:00-13:00,14:00-17:00 || "on appointment"
    Tady přichází vhod záložní pravidlo. Použije se např. v momentě, kdy není možné použít žádné matematické vyjádření.
  • Su-Tu 11:00-01:00, We-Th 11:00-03:00, Fr 11:00-06:00, Sa 11:00-07:00
    Protože otevírací hodiny přecházejí přes půlnoc, je nutno jednotlivé dny neoddělovat středníkem, ale čárkou.
  • Mo-Su,PH 15:00-03:00; easter -2 days off
    Otevřeno každý den i ve svátek, zavřeno pouze na Velký pátek.
  • 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.

Definice

Pro určení dnů a měsíců se používají vždy výhradně níže uvedené (pro dny dvoumístné, pro měsíce třímístné) zkratky anglických názvů.

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

  • 7/8-23 (nesprávně) → Mo-Su 08:00-23:00 (správně)
  • 0600-180006:00-18:00
  • 07;00-2;00pm07:00-14:00
  • 08.00-16.00, public room till 03.00 a.m08:00-16:00 open, 16:00-03:00 open "public room"
  • 09:00-21:00 TEL/072(360)320009:00-21:00 "po tel. domluvě" (a přidat contact:phone=*)
  • 10:00 - 13:30 / 17:00 - 20:3010:00-13:30,17:00-20:30
  • April-September; Mo-Fr 09:00-13:00, 14:00-18:00, Sa 10:00-13:00Apr-Sep: Mo-Fr 09:00-13:00,14:00-18:00; Apr-Sep: Sa 10:00-13:00
  • Restaurace: 6am to 11pm; Okénko: 24/706:00-23:00 open "restaurace" || 00:00-24:00 open "okénko"
  • MWThF: 1200-1800; SaSu: 1200-1700Mo,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; KLUB: Tu-Th 20:00-03:00; Fr-Sa 20:00-04:00Tu-Th 20:00-03:00 open "Klub a bar"; Fr-Sa 20:00-04:00 open "Klub a bar" || Su-Mo 18:00-02:00 open "Bar" || Tu-Th 18:00-03:00 open "Bar"
  • Su-Th 11:00-03:00; Fr-Sa 11:00-05:00Su-Th 11:00-03:00, Fr-Sa 11:00-05:00 viz poslední položka v kapitole příklady výše
  • Mo-We 17:00-01:00; Th,Fr 15:00-01:00; PH,Sa,Su offMo-We 17:00-01:00, Th,Fr 15:00-01:00; PH off. Prostudujte dodatečná pravidla. Nemůžete použít "Sa,Su off" protože byste popřeli definovanou otevírací dobu v "Sa 00:00-01:00".

Implementace

JavaScript

JavaScriptové implementace uživatele Ypid:

JavaScriptové knihovny

JavaScriptové knihovny autora AMDmi3 (na kterých je celá práce autora Ypid založena).

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.

Screenshot osm24.eu: Zelená=otevřeno, žlutá=budeme zavírat, šedá=zavřeno, modrá=otevírací doba není zadána

OsmAnd

OsmAnd 2.0 ukazuje, o kterých POI ví, zda jsou otevřeny nebo zavřeny na základě tagování opening_hours. Například Re-CYCLE Bike Shop byl v okamžiku pořízení screenshotu uzavřen, zatímco několik půjčoven kol bylo otevřeno.

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.

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.

Ulm, Neu-Ulm a okolí.

Další mapy a aplikace

  • 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í

Vykreslování

V případě značení 24/7 se může na mapě u běžné ikony objevit i malá číslice 24:

Pharmacy dispencing 24.png

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

Dřívější zastaralé značky

Následující (nedokumentované) 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:

Viz také Podmíněná omezení.

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 - časové omezení
  • Podmíněná omezení - použití syntaxe opening_hours pro omezení přístupu na základě časové podmínky
  • lit - umělé osvětlení
  • collection_times - pro poštovní schránky a nádoby na 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
  • Key:smoking_hours - pro čas, kdy je možné uvnitř (např. restaurace) kouřit
  • happy_hours - pro dobu, kdy je zboží (např. alkoholické nápoje) nabízeno se slevou

Poznámky

  1. 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.