User:Papou/Opening hours en

From OpenStreetMap Wiki
Jump to navigation Jump to search

{{KeyDescription |key=opening_hours |image=Image:OpenClosed.png |description=Describes when something is open or closed. |group=Properties |onNode=yes |onWay=yes |onArea=yes |lang=en }} It is possible to enter opening hours for almost everything that has opening hours. Supermarkets and small convenience stores close in most countries at different times (even in the same city), in metropolitan areas there are often small shops open the whole night. Some pharmacies, gas stations, pubs and fast-food-restaurants are open 24/7. This is a very important information if you are looking for a certain facility at night. Additionally you can tag the URL where the current opening hours can be looked up with {{tag|opening_hours:url||http://example.org/}}. __TOC__ == How to map == This is a property tag so it must go with a related tag; e.g., * {{Tag|amenity|biergarten}}, * {{Tag|amenity|fast_food}}, * {{Tag|amenity|fuel}}, * {{Tag|amenity|library}}, * {{Tag|amenity|parking}}, * {{Tag|amenity|pharmacy}}, * {{Tag|amenity|pub}}, * {{Tag|amenity|restaurant}}, * {{Tag|amenity|toilets}} * {{Tag|shop|bakery}}, * {{Tag|shop|convenience}}, * {{Tag|shop|farm}}, * {{Tag|shop|supermarket}}, * {{Tag|tourism|museum}}, * ... == Values == Before tagging ways {{IconWay}}, see [[Key:access]]. [http://www.netzwolf.info/en/cartography/osm/time_domain/ TimeDomain] is a webtool which helps to determine the values. Please use English for weekday and month names. === Examples === *{{tag|opening_hours||24/7}} :applied to: any non-stop facilities (related tags), 24 hours 7 days a week :render on map: someting like object icon with a 24 *{{tag|opening_hours||Sa-Su 00:00-24:00}} :applied to: opens only the weekend but nonstop, 24h *{{tag|opening_hours||Mo-Fr 08:30-20:00}} or for more complex opening hours: :{{tag|opening_hours||Mo 10:00-12:00,12:30-15:00; Tu-Fr 08:00-12:00,12:30-15:00; Sa 08:00-12:00}} :{{tag|opening_hours||Mo-Su 08:00-18:00; Apr 10-15 off; Jun 08:00-14:00; Aug off; Dec 25 off}} :applied to: any facilities with opening hours (related tags) :render on map: nothing, info recovered by software * {{tag|opening_hours||Mo-Sa 10:00-20:00; Tu off}} or {{tag|opening_hours||Mo-Sa 10:00-20:00; Tu 10:00-14:00}} : for exceptions in a range of days :applied to: any facilities with opening hours (related tags) :render on map: nothing, info recovered by software * {{tag|opening_hours||sunrise-sunset}} :applied to: opens every day between sunrise and sunset. :use round brackets to add a time offset, for example a park that opens 2 hours after sunrise and closes 2 hours before sunset (sunrise+02:00)-(sunset-02:00) * {{tag|opening_hours||Su 10:00+}} :Sunday from 10:00 to open end or unknown closing time :applied to: any facilities with opening hours (related tags) :render on map: nothing, info recovered by software * {{tag|opening_hours||week 1-53/2 Fr 09:00-12:00; week 2-52/2 We 09:00-12:00 }} :open from 09:00 to 12:00 on fridays of odd weeks and on wednesdays of even weeks :applied to: any facilities with opening hours (related tags) :render on map: nothing, info recovered by software === Syntax === *'''wd''' weekday, available: Mo · Tu · We · Th · Fr · Sa · Su (e.g., > '''Fr''' 08:30-20:00) *'''hh''' hour, always two digits number in 24h basis (no am/pm), in the format "hh:mm" · (e.g., > Fr '''08''':30-'''20''':00) *'''mm''' minute, always two digits number in the format "hh:mm" (e.g., > Fr 08:'''30'''-20:'''00''') *'''mo''' month, available: Jan · Feb · Mar · Apr · May · Jun · Jul · Aug · Sep · Oct · Nov · Dec · "mo md" (e.g., > '''Dec''' 25) *'''md''' monthday, always two digits number in the format · "mo md" (e.g., > Dec '''25''') *'''we''' week number, always a two digit number in range 01-53, in the format "week we" (e.g., > '''week 25''' Mo 08:30-20:00) *'''SH''' School Holiday, can be used to indicate different opening hours during school holidays (e.g., Mo-Fr 08:00-09:00,14:00-15:00; SH off) <ref name="defaults">Values can be set as '''default'''. [[Relations/Proposed/Defaults|Default]] is a proposal for a default values system. This proposal can set default values such as maxspeed for areas (countries, states...) but also holidays periods. A country, a ''zone'' area can subscribe to a ''default'' containing such holidays definitions. </ref> *'''PH''' Public Holiday, can be used to indicate different opening hours during public holidays (e.g., Mo-Fr 09:00-17:00; PH 10:00-12:00; PH Su off)<ref name="defaults" /> : The above example means normal hours are monday to friday 9am to 5pm, except on public holidays it is 10am to 12pm, except public holidays that fall on a Sunday. The general syntax for the value is: '''hh:mm-hh:mm''' (e.g., > 08:30-20:00) The general syntax for the value is: '''wd hh:mm-hh:mm''' (e.g., > Fr 08:30-20:00) The general syntax for the value is: '''mo md hh:mm-hh:mm''' (e.g., > Dec 25 08:30-20:00) The general syntax for the value is '''mo-mo: wd hh:mm-hh:mm''' (e.g. '''Jun-Aug: Su 10:30-16:00''' to specify the opening times on Sundays in June, July and August. Note the colon, mentioned under "Calendar Ranges" [http://www.netzwolf.info/en/cartography/osm/time_domain/explanation here]). The general syntax for the value is: '''week we wd hh:mm-hh:mm''' (e.g., > week 25 Mo 08:30-20:00) === Rules === * Consecutive hours [always needs open-close] separated by "'''-'''" · (e.g., > 08:30'''-'''20:00) * Consecutive weekdays open separated by "'''-'''" · (e.g., > Mo'''-'''Fr) * Consecutive monthdays open separated by "'''-'''" · (e.g., > Dec 20'''-'''26) or (e.g., > Dec 20'''-'''Jan 06) * Open with periodicity "n" within a range of consecutive monthdays, the range is followed by "'''/n'''" (e.g., > 02-30'''/n''') * Consecutive weeks open separated by "'''-'''" · (e.g., > week 01'''-'''26) * Open with periodicity "n" within a range of consecutive weeks, the range is followed by "'''/n'''" ( e.g.> week 02-52'''/n''' ) * A break on days separated by "''','''" · (e.g., > Mo''','''We''','''Fr) * A break on hours separated by "''','''" · (e.g., > 08:30-14:00''','''16:30-20:00) * Different hours on different days are separated by "''';'''" (e.g., > Mo 10:00-12:00,12:30-15:00''';''' Tu-Fr 08:00-12:00,12:30-15:00''';''' Sa 08:00-12:00) :reads as: this opening hours for this days ; this opening hours for this days * A weekday off will be tagged as "wd off" (e.g., > Tu '''off''') * A range of weekdays off will be tagged as "wd-wd off" (e.g., > Tu-Th '''off''') * A month off will be tagged as "mo off" (e.g., > Aug '''off''' ) * A range of months off will be tagged as "mo-mo off" (e.g., > Aug-Sep '''off''') * A monthday off will be tagged as "mo md off" (e.g., > Dec 25 '''off''') * A range of monthdays off will be tagged as "mo md-md off" (e.g., > Dec 24-26 '''off''') or "mo md - mo md off" (e.g., > Dec 25-Jan 06 '''off''' ) * Exceptions to a range of days, first the range then the exception (e.g., > Mo-Sa 10:00-20:00; Tu off) or (e.g., > Mo-Sa 10:00-20:00; Tu 10:00-14:00) (this means these are not additions, for example Mo-Fr 08:00-12:30; We 14:00-17:00 means that on Wednesdays, the shop is ''only'' opened in the afternoons and not ''additionally'') * If it is in the first or last day of a range then don't use the exception rule, use the usual (e.g., > Mo-Fr 10:00-20:00; Sa 10:00-14:00) * Non-consecutive or semi-consecutive days of the week will be tagged as wd[x] (e.g., Su[3] 09:00-12:00) : This is used to indicate the 3rd Sunday of the month from 9am to 12pm. : Use -1 to indicate the last day of the month; e.g., Aug Th[-1] means last Thursday in July. : Can use grouping, (e.g., Su[1,3,5] and Su[1-3]) * If hours are non stop some days then (e.g., > 00:00-24:00) * If it is 24 hours 7 days a week it has a specific value: 24/7 : this way it can render a specific icon. * A special time value to mark the time the sun rises is: sunrise. * A special time value to mark the time the sun sets is: sunset. * A + behind a time means "from" or "open end" (e.g., Sa 22:00+) === Implementation === This is my second try on an implementation: * [http://www.netzwolf.info/en/cartography/osm/time_domain/#specification formal specification] * [http://www.netzwolf.info/en/cartography/osm/time_domain/#evaluation online evaluation] * Maps showing nodes with opening_hours: ** [http://www.netzwolf.info/en/cartography/osm/time_domain/map_opening opening_hours] ([http://www.netzwolf.info/en/cartography/osm/time_domain/map_opening?filter=error erroneous one only] – quality assurance), [http://www.netzwolf.info/en/cartography/osm/time_domain/map_opening?filter=open only objects which are open just now]) ** [http://www.netzwolf.info/en/cartography/osm/time_domain/map_collection collection_times] ([http://www.netzwolf.info/en/cartography/osm/time_domain/map_collection?filter=error erroneous one only] – quality assurance), [http://www.netzwolf.info/en/cartography/osm/time_domain/map_collection?filter=today point in time today], [http://www.netzwolf.info/en/cartography/osm/time_domain/map_collection?filter=open point in time this week]) ** [http://www.netzwolf.info/en/cartography/osm/time_domain/map_service service_times] ([http://www.netzwolf.info/en/cartography/osm/time_domain/map_service?filter=error erroneous one only] – quality assurance), [http://www.netzwolf.info/en/cartography/osm/time_domain/map_service?filter=today point in time today], [http://www.netzwolf.info/en/cartography/osm/time_domain/map_service?filter=open point in time this week]) [[User:Netzwolf|Netzwolf]] 17:16, 26 November 2010 (UTC) * Another [https://github.com/AMDmi3/opening_hours.js javascript library] with wide set of features and nice documentation * [http://amdmi3.ru/files/opening_hours.js/demo.html demo] [[User:AMDmi3|AMDmi3]] 10:44, 18 December 2012 (UTC) == Code == * [http://svn.openstreetmap.org/applications/mobile/healthwhere/inc_openclosed.php PHP code in SVN] to parse opening_hours. * [https://github.com/kenguest/Services_Openstreetmap/ Services_Openstreetmap], a PEAR PHP package for working with the OSM API, supports parsing a wide range of Opening Hours syntax - [https://github.com/kenguest/Services_Openstreetmap/blob/master/tests/OpeningHoursTest.php with examples here]. == Rendering == Just in the case of {{tag|opening_hours||24/7}} it can be something like adding a 24 to the object icon. [[Image:pharmacy_dispencing_24.png]] The rest of values have no rendering and should be accessed with context menu or alike. == Implementations == === OsmAnd === [[OsmAnd]] uses this tag in the POI search screen. The colour of the arrow changes when the POI is open, closed or the state is unknown. The implementation is only partial, currently no dates, weeknumbers or holidays are supported, But most values should get parsed. [[File:Osmand_0.8.1_POI_search_with_opening_hours.png|left|thumb|upright=1.2|Screenshot of Osmand 0.8.1 taken on 2012-07-27 showing the feature of displaying the direction arrows in green or red (or grey if unknown) depending of the tagging of opening_hours on each object in the raw OSM data.]] {{-}} === OpenLinkMap === [[OpenLinkMap]] creates a clickable POI overlay over an osm based slippy map. Clicking on a POI opens a dialog window showing informations about it, including its opening hours and open/closed state [[File:Openlinkmap-opening_hours-screenshot.jpg| left|thumb|upright=2.8]] {{-}} === Opening hours for Ulm, Neu-Ulm & surroundings === The web application is available on http://oeffnungszeiten.ulmApi.de. Opening hours for the local area are visualized on a map. The source code of this application is freely licensed and available via [https://github.com/cmichi/ulm-opening-hours GitHub]. Adapting the application to a different city is very easy and described on the GitHub page. [[File:Ulm-oeffnungszeiten.jpg| left|thumb|upright=2.8]] {{-}} === Other === * http://www.netzwolf.info/kartografie/osm/time_domain/map_opening == See also == * [[JOSM/Plugins/OpeningHoursEditor]] - a graphical editor for the opening_hours tag * [[Key:access]] - ''time restrictions'' * [[Conditional restrictions]] - ''using opening_hours syntax for time-based conditions'' * [[Key:lit]] - ''Artificial light sources'' * [[Key:collection_times]] - ''for post boxes and recycling points'' * [[Key:service_times]] - ''for churches and other [[Tag:amenity=place_of_worship]]'' * [[Key:smoking_hours]] - ''for times when smoking is allowed indoors'' == Notes == <references /> [[Category:Time_data_standards]] [[Category:Uses semicolon in tag value]] [[Category:Tag value is a list]]