FR:Key:opening_hours
opening_hours |
Description |
---|
Définit des horaires d'ouverture |
Groupe: propriétés |
Utilisé pour ces éléments |
Voir aussi |
Statut : de fait |
Outils pour cet attribut |
|
La clé opening_hours=* peut être ajoutée pour indiquer quand un lieu est ouvert ou fermé. Un standard spécifique est à suivre.
Il est possible de saisir les horaires d'ouverture pour presque tout ce qui a des heures d'ouverture connues.
Il est possible de rajouter l'URL où les horaires sont consultables opening_hours:url=[https://example.org/ ''https://example.org/''].
La syntaxe semble complexe mais permet d'entrer de nombreuses conditions. Pour la plupart des cartographes, utiliser des outils tels que le greffon OpeningHoursEditor de JOSM, Vespucci, Go Map!!, OsmAnd ou StreetComplete seront plus pratiques que d'essayer d'entrer les valeurs manuellement.
La spécification formelle est disponible ici : FR:Key:opening hours/specification.
Proposed features/Time domains est un document historique contenant des informations supplémentaires sur cette clé.
Exemples simples
Ouvert en semaine
- Les abréviations anglophones sont d'usage :
Abréviation | Jour de la semaine |
---|---|
Mo | Lundi |
Tu | Mardi |
We | Mercredi |
Th | Jeudi |
Fr | Vendredi |
Sa | Samedi |
Su | Dimanche |
Différents créneaux d'ouverture
opening_hours=Mo-Fr 08:00-12:00,13:00-17:30 |
Ouvert du lundi au vendredi de 8 h à 17 h 30, mais ferme de 12 h à 13 h. |
- Ajoutez les deux intervalles d'ouverture, séparés par une virgule sans espace (,).
Plusieurs jours distincts avec mêmes horaires
opening_hours=Mo,We 08:00-12:00 |
Ouvert les lundi et mercredi, de 8 h à 12 h. |
- Ajoutez les jours séparés par une virgule sans espace (,).
Différents selon les jours
opening_hours=Mo-Fr 08:00-12:00,13:00-17:30; Sa 08:00-12:00 |
Comme précédemment mais ouvert le samedi matin |
- Ajoutez les heures d'ouverture pour chaque jour (ou intervalle de jour), séparés par un point virgule et un espace (; ).
Fermé durant les fêtes
opening_hours=Mo-Fr 08:00-12:00,13:00-17:30; Sa 08:00-12:00; PH off |
Comme précédemment mais fermé durant les fêtes nationales |
PH
(PH pour Public holidays) est utilisé comme un jour.off
permet d'indiquer la fermeture durant toute la journée.SH
(School holidays) est utilisé pour les vacances scolaires. Bien que rare, il est possible d'utiliser à la foisPH
etSH
sur un même élément. Exemple : opening_hours=Mo-Fr 08:00-12:00,13:00-17:30; Sa 08:00-12:00; PH off; SH off
Horaires différents durant les fêtes
opening_hours=Mo-Fr 08:00-12:00,13:00-17:30; Sa 08:00-12:00; PH 09:00-12:00 |
Ouvert de 9 h à 12 h durant les fêtes |
PH
étant à la fin des conditions, il permet de les outrepasser. Pour plus d'informations sur les règles de priorité voir ce guide plus élaboré.
- Si un établissement a des heures d'ouverture différentes pour les jours pendant les vacances,
SH
peut être utilisé comme préfixe pour les jours de la semaine : opening_hours=Mo-Fr 08:00-12:00,13:00-17:30; Sa 08:00-12:00; SH Mo-Sa 09:00-12:00 (ici, le lieu est ouvert du lundi au samedi de 9 heures à midi pendant les vacances scolaires mais à des heures différentes hors vacances).
Fermé après minuit
Dans certains cas, certains endroits ferment après minuit. De tels cas sont un peu délicats à décrire. Par exemple, si un établissement est ouvert le lundi de 20 h à 2 heures du matin, on peut utiliser :
opening_hours=Mo 20:00-26:00 |
Ouvert le lundi de 20 h à 2 heures - en utilisant la syntaxe des horaires étendus |
opening_hours=Mo 20:00-02:00 |
Ouvert le lundi de 20 h à 2 heures - en utilisant la syntaxe des horaires étendus |
Note : ceci peut émettre un avertissement sur certains outils.
opening_hours=Mo 20:00-24:00, Tu 00:00-02:00 |
Ouvert le lundi de 20 h à 2 h du matin - avec les horaires du mardi indiqués séparément. |
Attention :
opening_hours=Mo 20:00-26:00; Th 20:00-24:00 |
Ouvert le lundi de 20 h à 2 h du matin, et le jeudi de 20 h à minuit. |
Étant donné qu'avec le point virgule les règles suivantes entraînent l'ignorance des règles précédentes, ici la règle du mardi écrase la partie du mardi de 0:00 à 2:00 heures. Veillez à utiliser une virgule au lieu d'un point-virgule pour étendre la règle !
Résumé de la syntaxe
Ceci est un résumé traitant la plupart des situations. Son rôle est de permettre l'ajout rapide d'horaires d'ouverture. Pour des cas complexes, voir les instructions complètes et des explications supplémentaires.
Il est possible de vérifier la syntaxe à l'aide d'un Outil d'évaluation, ou plus simplement YoHours.
Note : Toute personne voyant une erreur et étant sure de comprendre les règles est libre d'apporter des corrections
- Légende
code
est toujours écrit comme tel (le caractère d'espace- element doit être remplacé par l'élément dont la syntaxe est définie dans les lignes ci-dessous commençant par element:;
- item... signifie que item peut être répété si nécessaire.
- [ sequence of items ] signifie que la séquence d'objets est optionnelle;
- | signifique qu'une des séquences d'objets (séparés par ce symbole) doit être choisi;
- Syntaxe générale
opening_hours=
rulesets [;
rulesets ]...- Chaque ruleset est analysé dans l'ordre, le prochain ruleset pouvant avoir la priorité sur les conditions énoncées par le ruleset précédent.
- rulesets: rule [
||
rule ]...- Chaque rule est analysée dans l'ordre jusqu'à trouver la condition validée, à défaut la rule suivante dans ruleset sera analysée.
- rule: range [ status ] [ comment ]
- range: [ years ] dates [
24/7
- Syntaxe pour indiquer des années optionnelles
- years: year_range [
,
year_range ]... - year_range: year [
-
year |+
] [/
n ]- Une période facultative de n années peut être utilisée pour les années à inclure dans l'intervalle en commençant à l'année indiquée year.
- year: Un nombre à 4 chiffres du calendrier Grégorien.
- Syntaxe pour préciser les dates (horaires facultatifs)
- dates: monthly | weekly | daily | variably | holidays
- monthly: monthdays [
- weekly: [
week
,
week_range ]...,
weekday_range ]... - daily: months [
,
monthdays ]... ] - variably: variable_date [
-
variable_date ] - months: Mth [
-
Mth ] - monthdays: dd [
-
dd ] - week_range: ww [
-
ww |+
] [/
n ]- Une période optionnelle de n semaines peut être précisée, commençant la première semaine (ww) précisée.
- weekdays: weekday_range [
,
weekday_range ]... | Wd[
n [,
n ]...]
- Les jours peuvent être suivi d'un rang, compté positivement à partir du début du mois ou négativement depuis la fin :
- ex :
Mo-Fr 08:00-09:00
, ouMo[1,3] 08:00-09:00
; - ex :
Su[1]
signifie le premier Dimanche du mois etSu[-1]
signifie le dernier Dimanche du mois.
- weekday_range: Wd [
-
Wd ] - ww: Un nombre à deux chiffres indiquant la semaine (in ISO year), compris entre 01 et 53, ex :
week 25 Mo 08:30-20:00
- dd: Un nombre à deux chiffres indiquant le jour du mois compris entre 01 et 31, ex :
Dec 25
- Mth:
Jan
|Feb
|Mar
|Apr
|May
|Jun
|Jul
|Aug
|Sep
|Oct
|Nov
|Dec
- Abréviation en trois lettres du nom anglophone du mois, ex :
Dec 25
- Abréviation en trois lettres du nom anglophone du mois, ex :
- Wd:
Mo
|Tu
|We
|Th
|Fr
|Sa
|Su
- Abréviation à deux lettres du nom anglophone du jour, ex :
Fr 08:30-20:00
- Abréviation à deux lettres du nom anglophone du jour, ex :
- yearly_fest:
easter
- Pour l'instant, le seul jour renseigné dont la date varie chaque année est Pâques (selon le calendrier catholique grégorien).
- variable_date: yearly_fest [ sign n
days
], ex :easter -2 days 08:00-17:00
pour les horaires d'ouverture le Vendredi saint. - holidays:
PH
|SH
- Fêtes nationales (dépend de la localité, nécessite des données par pays/région); Vacances scolaires (dépend de la localité, nécessite des données par académie).
- Syntaxe pour renseigner les horaires
- times: time_range [
,
time_range ]... - time_range: time [
-
time |+
]- Cela peut être utilisé à la place de "tard" ou "jusqu'au dernier client", ex :
12:00+
.
- Cela peut être utilisé à la place de "tard" ou "jusqu'au dernier client", ex :
- time: fixed_time | variable_time
- fixed_time: HH
:
mm - variable_time: event |
(
event offset_time)
- event:
dawn
|sunrise
|sunset
|dusk
- Ces éléments nécessitent la géolocalisation et le calcul de la position angulaire d'élévation du Soleil, ainsi que l'élévation angulaire de l'horizon observable (qui dépend également de l'altitude). Ils peuvent être estimés au niveau de la mer sur un modèle géoide, ou estimé selon l'heure locale (par pays et fuseau horaire).
- offset_time: sign hh
:
mm - hh: Un nombre à 2 chiffres relatif compris entre 00 et 48, ex :
(sunrise+01:00)-12:00
. - HH: Un nombre à 2 chiffres absolu (format 24h) compris entre 00 et 23, ex :
Fr 08:30-20:00
. - mm: Un nombre à 2 chiffres indiquant les minutes, compris entre 00 et 59, ex :
Fr 08:30-20:00
.
- Autres éléments de syntaxe utilisés pour préciser dates et heures
- sign:
+
|-
- n: Une intégrale positive.
- Syntaxe de modificateurs facultatifs
- status:
unknown
|open
|closed
|off
unknown
: état inconnu aux horaires indiqués;open
: ouvert aux horaires indiqués (ou continuellement) sauf exceptions précisées par la suite;closed
ouoff
: fermé aux horaires indiqués (ou continuellement) sauf exceptions précisées par la suite;- Dans chaque rule du premier ruleset, si le status n'est pas explicitement spécifié dans la range,
open
est utilisé par défaut, laissant les autres horaires comme étantunknown
; le résultat est alors modifié successivement par chaque ruleset.
- comment:
"
text"
- Un commentaire court (contenu entre
"
, ne pouvant pas contenir"
) indiquant des restrictions ou information supplémentaires, ex :"enfants uniquement"
,"service limité"
,"réservation par téléphone"
. - Ce commentaire a pour but d’être affiché par les applications sans être interprété automatiquement. Le commentaire devrait être rédigé dans la langue locale.
- Un commentaire court (contenu entre
Utilisation
Cette clé apporte des informations sur un élément qui dispose déjà d'autres clés; ex :,
- shop=*
- amenity=biergarten
- amenity=charging_station
- amenity=fast_food
- amenity=fuel
- amenity=library
- amenity=parking
- amenity=pharmacy
- amenity=pub
- amenity=restaurant
- amenity=toilets
- tourism=museum
- …
Valeurs
- Avant d'utiliser cette clé sur un chemin , jetez un œil à Key:access
L'outil d'évaluation et YoHours sont des outils qui aident à déterminer les valeurs. Merci d'utiliser l'anglais pour les noms des jours de la semaine et des mois.
Exemples
- 24/7
- S'applique à tout service ouvert sans interruption tous les jours de la semaine.
- Rendu graphique : icône représentant le nombre 24
- Sa-Su 00:00-24:00
- S'applique à un service ouvert sans interruption pendant le week-end et fermé en semaine
- Mo-Fr 08:30-20:00 ou pour des horaires d'ouverture plus complexes:
- 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
- S'applique à des éléments avec des horaires d'ouverture
- Rendu graphique : Aucun, l'information doit être traitée par le logiciel
- Mo-Sa 10:00-20:00; Tu off ou Mo-Sa 10:00-20:00; Tu 10:00-14:00
- Pour les exceptions au sein d'une série de jours.
- S'applique à tout élément soumis à des horaires
- Rendu graphique : Aucun, l'information doit être traitée par le logiciel
- sunrise-sunset
- S'applique à des éléments ouverts entre le lever et le coucher de soleil.
- Les parenthèses permettent de préciser un décalage temporel, par exemple un parc qui ouvre et ferme 2h après le lever et le coucher de soleil : (sunrise+02:00)-(sunset-02:00).
- Su 10:00+
- Dimanche de 10h00 jusqu'à une heure inconnue.
- S'applique à des éléments avec des horaires d'ouverture
- Rendu graphique : Aucun, l'information doit être traitée par le logiciel
- week 1-53/2 Fr 09:00-12:00; week 2-52/2 We 09:00-12:00
- Ouvert de 9h à 12h les vendredis de semaine impaire et les mercredis en semaine paire
- S'applique à des éléments avec des horaires d'ouverture
- Rendu graphique : Aucun, l'information doit être traitée par le logiciel
- Mo-Sa 08:00-13:00,14:00-17:00 || "by appointment"
- La règle par défaut est utilisable. Elle s'applique à tous les créneaux non précisés par les conditions.
- Su-Tu 11:00-01:00, We-Th 11:00-03:00, Fr 11:00-06:00, Sa 11:00-07:00
- Par règle de priorité, les créneaux à cheval sur deux jours nécessitent des conditions additionnelles à l'aide de virgules (Pas de point-virgule).
- Mo-Su,PH 15:00-03:00; easter -2 days off
- Quotidiennement, jours fériés compris, mais fermé le Vendredi saint.
- Pour plus d'exemples, voir Outil d'évaluation et la documentation documentation.
Syntaxe
- wd jours : Mo · Tu · We · Th · Fr · Sa · Su (ex :, > Fr 08:30-20:00)
- hh heure dans le format 24h "hh:mm" · (ex :, > Fr 08:30-20:00)
- mm minute dans le format "hh:mm" (ex :, > Fr 08:30-20:00)
- mo mois : Jan · Feb · Mar · Apr · May · Jun · Jul · Aug · Sep · Oct · Nov · Dec · "mo md" (ex :, > Dec 25)
- md jour du mois dans le format "mo md" (ex :, > Dec 25)
- we jour de semaine compris entre 01 et 53 dans le format "week we" (ex :, > week 25 Mo 08:30-20:00)
- SH Vacances scolaires (ex :, Mo-Fr 08:00-09:00,14:00-15:00; SH off)[1]
- PH Jour férié (ex :, Mo-Fr 09:00-17:00; PH 10:00-12:00; PH Su off)[1]
- L'exemple ci-dessus indique l'ouverture du lundi au vendredi de 9h à 17h sauf les jours fériés où l'ouverture est de 10h à 12h, à l'exception des jours fériés tombant un dimanche.
La syntaxe générale est : hh:mm-hh:mm (ex :, > 08:30-20:00).
La syntaxe générale est : wd hh:mm-hh:mm (ex :, > Fr 08:30-20:00).
La syntaxe générale est : mo md: hh:mm-hh:mm (ex :, > Dec 25: 08:30-20:00). À noter que la virgule est optionnelle Key:opening_hours/specification.
La syntaxe générale est : mo-mo: wd hh:mm-hh:mm (ex :, Jun-Aug: Su 10:30-16:00 pour indiquer l'ouverture de juin, juillet et août.
La syntaxe générale est : week we: wd hh:mm-hh:mm (ex :, > week 25: Mo 08:30-20:00).
Règles
- Heures consécutives séparées par "-" · (ex :, > 08:30-20:00)
- Jours consécutifs séparés par "-" · (ex :, > Mo-Fr)
- Jours (du mois) consécutifs, séparés par "-" · (ex :, > Dec 20-26) ou (ex :, > Dec 20-Jan 06)
- Ouvert selon une période "n" dans une certaine période du mois, la période est suivie de "/n" (ex :, > 02-30/n)
- Semaines consécutives séparées par "-" · (ex :, > week 01-26)
- Une pause dans la semaine, séparée par "," · (ex :, > Mo,We,Fr)
- Une pause dans la journée, séparée par "," · (ex :, > 08:30-14:00,16:30-20:00)
- Des heures différentes de jours différentes sont séparés par ";" (ex :, > Mo 10:00-12:00,12:30-15:00; Tu-Fr 08:00-12:00,12:30-15:00; Sa 08:00-12:00)
- Signifie "Horaires pour tels jours ; horaires pour tels jours"
- Un jour de fermeture est précisé par "wd off" (ex :, > Tu off)
- Une période de fermeture est précisée par "wd-wd off" (ex :, > Tu-Th off)
- Un mois de fermeture est précisé par "mo off" (ex :, > Aug off )
- Une saison de fermeture est précisée par "mo-mo off" (ex :, > Aug-Sep off)
- Un jour de fermeture peut être précisé par "mo md off" (ex :, > Dec 25 off)
- Une période du mois peut être précisé par "mo md-md off" (ex :, > Dec 24-26 off) ou "mo md - mo md off" (ex :, > Dec 25-Jan 06 off )
- Exceptions dans une série de jours (ex :, > Mo-Sa 10:00-20:00; Tu off) ou (ex :, > Mo-Sa 10:00-20:00; Tu 10:00-14:00) ou(ex :, > Mo-Fr 08:00-12:30; We 14:00-17:00)
- Cela signifie qu'il n'y a pas d'additivité, ex : Mo-Fr 08:00-12:30; We 14:00-17:00 indique que le mercredi l'ouverture est uniquement l'après-midi.
- Des jours non consécutifs peuvent être indiqués selon wd[x] (ex :, Su[3] 09:00-12:00)
- Cela indique le 3ème dimanche du mois de 9h à 12h.
- -1 permet d'indiquer le dernier jour du mois; ex :, Aug Th[-1] signifie le dernier mardi du mois d'août.
- Peut être groupé, (ex :, Su[1,3,5] and Su[1-3])
- Pour des journées sans interruption (ex :, > 00:00-24:00)
- Pour des semaines sans interruption : 24/7.
- Une icône spécifique peut alors être utilisée.
Voir formal specification pour plus de détails.
Erreurs courantes
- Sur rendez-vous → "Sur rendez-vous"
- 7/8-23 → Mo-Su 08:00-23:00
- 0600-1800 → 06:00-18:00
- 07;00-2;00pm → 07:00-14:00
- 7h00 à 14h00 → 07:00-14:00
- 08.00-16.00, Salle publique jusqu'à 03.00 → 08:00-16:00 open, 16:00-03:00 open "Salle publique"
- 09:00-21:00 Tél/06 54 32 10 00→ 09:00-21:00 "Appelez-nous" (et ajouter contact:phone=+33 6 54 32 10 00)
- 10:00 - 13:30 / 17:00 - 20:30 → 10:00-13:30,17:00-20:30
- Avril-Septembre; 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
- Restaurant de 6h à 23h; Drive 24h/24 → 06:00-23:00 open "Restaurant" || 00:00-24:00 open "Drive"
- LMeJV: 1200-1800; SD: 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 et bar"; Fr-Sa 20:00-04:00 open "Club et 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 Voir le dernier exemple
- 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.
Calendriers non grégoriens
Des discussions ont eu lieu quant aux calendriers non-grégoriens (“Opening hours syntax for non Gregorian calendar”. 17 May 2019 . ).
Implémentation
JavaScript
JavaScript par User:Ypid:
- Outil d'évaluation
- Code source
- Carte affichant les horaires d'ouverture
- Script Python pour chercher avec regex et charger les valeurs qui n'ont pas pu être analysées sous JOSM (documentation README).
- Suit formal specification proposé par Netzwolf.
- Basé sur le code et le design initial de AMDmi3.
CarteApp
Carte.app utilise cette clé sur les POI choisis par l'utilisateur en affichant des points verts, rouge ou blancs suivant si l'horaire tombe dans la pérode d'ouverteure, de fermeture ou si le POI n'a pas d'horaires renseignés dans son tag opening_hours.
OsmAnd
OsmAnd utilise cette clé sur l'écran de recherche de POI.
Horaires d'ouvertures pour Ulm, Neu-Ulm et les environs
L'application web est disponible à http://ulm-oeffnungszeiten.creal.de. Les horaires d'ouverture de la zone s'affichent. Le code source est disponible via GitHub. Adapter l'outil à une ville différente est aisé et décrit.
Autres applications
Web Apps :
- openingh.openstreetmap.de / openingh.ypid.de Carte avec une couche pour les horaires d'ouverture.
Applis mobiles :
- My Opening Hours - pour les périphériques Android
- Vespucci - éditeur Android supportant les syntaxes complexes.
- StreetComplete - éditeur simplifié qui permet entre autres de collecter les horaires d'ouverture.
Outils :
- Statistiques - Visualisation de la qualité des données et leur évolution.
- YoHours - Site permettant de créer des valeurs graphiquement
Code
- PHP code en SVN pour chercher les opening_hours.
- Services_Openstreetmap, paquet PEAR PHP fonctionnant avec l'API OSM, avec des exemples.
- OpeningHoursParser, programmé en Java.
- OpeningHoursFragment, librairie d'éditeur Android OH.
Rendu
Dans le cas de 24/7, il a été proposé d'ajouter un symbole 24 à l'icône classique.
Le reste des valeurs n'ont pas de solution évidente et pourraient être accessibles selon un menu.
- Cartes avec opening_hours:
Ancienne méthode
Les clés suivantes sont aujourd'hui obsolètes et doivent être remplacée par opening_hours=* :
Voir aussi Restrictions conditionnelles.
Voir aussi
- JOSM/Plugins/OpeningHoursEditor - éditeur graphique
- YoHours - éditeur en ligne
- Openingh.openstreetmap.de - Outil d'évaluation et de validation
- access - time restrictions
- Conditional restrictions - using opening_hours syntax for time-based conditions
- lit - Artificial light sources
- collection_times - for post boxes and recycling points
- service_times - for churches and other features that have different service times than opening hours
- smoking_hours - for times when smoking is allowed indoors
- happy_hours - for times when alcoholic drinks are offered at a discount
- opening_hours:kitchen - for times when the kitchen is open and meals can be ordered (for example, inside a restaurant or pub)
- opening_hours:atm - for times when the ATM inside a venue is usable
- opening_hours:drive_through - for times when the drive through is open even if one cannot go inside
- lunch - for times when mass prepared regular daily lunch is offered at a discount
Notes
- ↑ 1.0 1.1 Les vacances par défaut peuvent être ajoutés à opening_hours.js. Un système alternatif a été proposé : Default. Cette proposition permet d'indiquer des valeurs par défaut telles que la vitesse maximale mais également les périodes de vacances.