FR: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
Description
Définit des horaires d'ouverture Edit this description in the wiki page. Edit this description in the data item.
Groupe: Propriétés
Utilisé pour ces éléments
peut être utilisé sur des nœudspeut être utilisé sur des cheminspeut être utilisé sur des zonespeut être utilisé sur des relations
Voir aussi
Wikidata
Statut : de facto

De très nombreux lieux ou services ont des horaires d'ouverture. Il est intéressant d'en préciser les horaires car les magasins ferment à des heures différentes les uns des autres, et certains sont ouverts toute la nuit, voire 7 jours sur 7. Une telle mention est d'une grande aide si l'on recherche un service de nuit ou un jour de fermeture.

Il est possible de rajouter l'URL où les horaires sont consultables opening_hours:url=http://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 ou StreetComplete seront plus pratique que d'essayer d'entrer les valeurs manuellement.

Proposed features/Time domains et Key:opening_hours/specification sont des documents traitant plus en détails de la syntaxe.

Exemples simples

Ouvert en semaine

Image montrant comment utiliser le tiret pour séparer le premier et dernier jour d'un créneau, l'espace entre les jours et l'heure. Les 0 sont obligatoires.

  • 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

FR:Key:opening hours/Tutorial/Example

  • Les deux intervalles sont à séparer par une virgule (,).

Différents selon les jours

FR:Key:opening hours/Tutorial/Example

  • Le point virgule permet de séparer les intervalles journaliers.


Fermé durant les fêtes

FR:Key:opening hours/Tutorial/Example

  • 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 fois PH et SH sur un même élément.

ex : 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

FR:Key:opening hours/Tutorial/Example

  • PH étant à la fin des conditions, il permet de les outrepasser. Pour plus d'informations sur les règles de priorité voir this more elaborate guide.


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   est inclus où cela est nécessaire ; les autres espaces dans la syntaxe sont pour l'aspect visuel uniquement);
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 [   times ] | times | 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 [   weekdays ]
weekly: [ week   week_range [ , week_range ]...   ] weekday_range [ , weekday_range ]...
daily: months [   monthdays [ , 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, ou Mo[1,3] 08:00-09:00;
ex : Su[1] signifie le premier Dimanche du mois et Su[-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
Wd: Mo | Tu | We | Th | Fr | Sa | Su
Abréviation à deux lettres du nom anglophone du jour, ex : Fr 08:30-20:00
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+.
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 ou off: 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 étant unknown; le résultat est alors modifié successivement par chaque ruleset.
comment: "text"
Un commentaire court (contenu entre " sans contenir de ") montrant les restrictions applicables, ex : "children only", "limited service", ou "reservation by phone".
Ce commentaire à pour but d'être utilisé par les applications et pas interprété par les utilisateurs. Le langage utilisé n'est pas indiqué mais pourrait faire appel à des clés contenant des suffixes de langue.

Utilisation

Cette clé apporte des informations sur un élément qui dispose déjà d'autres clés; ex :,

Valeurs

  • Avant d'utiliser cette clé sur un chemin 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 seins 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 vendredi de semaine impaire et les mercredi 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.

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 e 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-23Mo-Su 08:00-23:00
  • 0600-180006:00-18:00
  • 07;00-2;00pm07:00-14:00
  • 7h00 à 14h0007:00-14:00
  • 08.00-16.00, Salle publique jusqu'à 03.0008:00-16:00 open, 16:00-03:00 open "Salle publique"
  • 09:00-21:00 Tél/06 54 32 10 0009:00-21:00 "Appelez-nous" (et ajouter contact:phone=+33 6 54 32 10 00)
  • 10:00 - 13:30 / 17:00 - 20:3010:00-13:30,17:00-20:30
  • Avril-Septembre; 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
  • Restaurant de 6h à 23h; Drive 24h/2406:00-23:00 open "Restaurant" || 00:00-24:00 open "Drive"
  • LMeJV: 1200-1800; SD: 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; Fr-Sa 18:00-04:00; Club: Tu-Th 20:00-03:00; Fr-Sa 20:00-04:00Tu-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:00Su-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 offMo-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:

OsmAnd

OsmAnd 2.0 montrant si le POI est ouvert en fonction de opening_hours. Par exemple, le restaurant daBBA été fermé au moment de la capture d'écran alors que Sugran Swayapakghar était ouvert.

OsmAnd utilise cette clé sur l'écran de recherche de POI.

Horaires d'ouvertures pour Ulm, Neu-Ulm et les environs

Ulm, Neu-Ulm and surrounding areas.

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 :

Applis mobiles :

Outils :

  • Statistiques Visualisation de la qualité des données et leur évolution.
  • YoHours Site permettant de créer des valeurs graphiquement

Code

Rendu

Dans le cas de 24/7, il a été proposé d'ajouter un symbole 24 à l'icône classique.

Pharmacy dispencing 24.png

Le reste des valeurs n'ont pas de solution évidente et pourraient être accessibles selon un menu.

Ancienne méthode

Les clés suivantes sont aujourd'hui obsolètes et doivent être remplacée par opening_hours=* :

Voir aussi conditional restrictions.

Voir aussi

Notes

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