Ankündigung von OpenDoorSync

OpenDoorSync zeigt an, welche Geschäfte oder Einrichtungen die Öffnungszeiten auf ihrer eigenen Webseite in letzter Zeit geändert haben.

Nur sehr wenige Geschäfte aktualisieren ihre eigenen Öffnungszeiten auf OSM, und es kann lange dauern, bis ein Mapper vorbeikommt und die Änderung bemerkt. Aber viele Geschäfte veröffentlichen ihre Öffnungszeiten auf ihren eigenen Webseiten. OpenDoorSync ruft diese Öffnungszeiten regelmäßig ab und erkennt, wenn sie sich seit dem letzten Aufruf geändert haben. Wenn die Änderung plausibel erscheint, empfiehlt es eine Änderung in OSM.

Es ist also kein typischer Validator. Es liest mehr oder weniger spezifizierte Daten direkt von den Webseiten der Geschäfte, versucht diese mit OSM zu vergleichen und gibt dann Änderungsempfehlungen, keine Korrektheitsempfehlungen. Aber es gelten trotzdem dieselben Regeln: Werte nicht blindlings aktualisieren. In vielen Fällen hat OSM bessere Daten als die, die auf der Webseite stehen. Manche Geschäfte zeigen zum Beispiel ihre Mittagspausen nicht auf der Webseite an und fast immer fehlen Angaben zu Feiertagen.

Nur ein kleiner Teil der Geschäfte veröffentlicht die Öffnungszeiten in einem maschinenlesbaren Format. Nichtsdestotrotz werden so täglich mehrere Änderungen gefunden.

Für das lesen von OSM Öffnungszeiten, die Darstellung, und insbesondere die Vereinfachung und den komplizierten Vergleich von auf verschiede Weise angegebenen Öffnungszeiten verwende ich die Bibliothek opening-hours-rs von Rémi Dupré.

Ich beginne das jetzt erstmal nur für Deutschland, kann die Seite wenn sie gut ankommt aber später auch ausweiten.

Da ich zum ersten Mal eine Seite dieser Art erstelle, würde ich gerne wissen, ob das überhaupt hilfreich ist und was noch benötigt wird, um sie effektiv zu nutzen. Ich hab gesehen, dass andere Validatoren die Empfehlungen zum Beispiel nach Regionen gruppieren, wäre das hier auch hilfreich?

Schönes Projekt und ich denke auch hilfreich.

Wie du bereits sagtest, ist eine Kontrolle vor Ort allerdings wichtig, da leider viele kleinere Läden ihre “richtigen” Öffnungszeiten nach meiner Erfahrung eher vor Ort als auf der Webseite aktuell halten.

Von daher fände ich eine Selektion/Gruppierung nach Ort/Region schon sehr hilfreich.

Die Unart eine eigene Präsenz im Netz nur noch über Instaaaa oder FB, etc. zu realisieren ist (unabhängig von diesem Projekt) eine weitere Hürde …

Danke & Gruß

tux67

Die Datenqualität ist denke ich relativ hoch, weil ja nur Änderungen empfohlen werden, wenn jemand die Öffnungszeiten auf der Seite aktiv geändert hat

Aktuell bin ich auch noch recht strikt mit der Auswertung der Webseiten. Wenn ich noch etwas Arbeit in den Crawler stecke finde ich vermutlich noch einige Tausend mehr Öffnungszeiten als bisher

Eine Gruppierung nach Land/Bundesland/Region werde ich dann noch einbauen. Insbesondere wenn ich noch mehr Länder aufnehmen möchte wird das unabdingbar

Hi, da mich das Thema gerade so umtreibt: Wie würdest du mit diesen Konstellationen umgehen?

Würde dein Tool eher

  • opening_hours=Mo-Sa 07:00-22:00 open, Mo-Sa 22:00-24:00 open "nur Expresskassen"; Su,PH off oder
  • opening_hours=Mo-Sa 07:00-24:00 open, Mo-Sa 22:00-24:00 open "nur Expresskassen"; Su,PH off

erwarten?
Wie im Thread geschrieben, gibt das Unternehmen auf der Webseite nur “Mo.-Sa.: 7.00 - 24.00 Uhr” an, über die Besonderheit beim Service findet man dort keinen Hinweis.

Am ‘saubersten’ wäre meiner Meinung nach nur
opening_hours=Mo-Sa 07:00-24:00 und
payment:cash=yes
payment:cash:conditional=no @ 22:00-24:00

Aber cash:conditional wertet keiner aus. :frowning:
Vielleicht magst du ja so was (Kommentare) auch einfach nur ignorieren?

Viele Grüße

Die OSM Daten haben nur Einfluss auf den farbigen Hinweis unten in der Änderung. Auf die Änderungsfeststellung hat das keinen Einfluss. Sobald in den OSM opening_hours ein Kommentar gefunden wird, ist der Hinweis unten aber immer rot, weil es keine exakte Übereinstimmung gibt.

Generell bin ich auch der Meinung, dass opening_hours=Mo-Sa 07:00-24:00 korrekt wäre. Dann noch beides opening_hours:self_checkout und das conditional payment dazu.

Ist dann denke ich ähnlich wie mit opening_hours:kitchen, was ja eigentlich auch für Restaurantbesuche sehr wichtig ist, aber selten gezeigt wird.

opening_hours:self_checkout gibt ja es leider nicht. Nur opening_hours:self_service. Ansonsten halte ich mich jetzt mal raus.

Edit: eins noch: deine Varianten oben sind im Ergebnis gleich, soviel kann ich sicher sagen, denn später genanntes überschreibt erstgenantes.

Wie genau machst du das? Verwendest du dazu ein LLM (KI)?

Ich könnte mir dies vorstellen:

  • Der Benutzer gibt eine PLZ vor.
  • Die Applikation ermittelt aus den OSM-Daten alle Geschäfte und Restaurants.
  • Das Programm prüft für alle Einträge mit URL die Webseite.

Das Programm müsste sich auch merken, wann eine Änderung an der Webseite vorgenommen wurde, falls OSM aktueller als die Angabe auf der Webseite ist (z.B. wenn diese nicht gepflegt wird).

Nice tool. Could be a way to supplement the Opening Hours Validator.

For pages without readable hours and opening_hours:url , one could just compare if the web page update is more recent than check_date:opening_hours

Ein bisschen technische Beschreibung vom Crawler hab ich im FAQ unter “Wie werden die Änderungen erkannt?” schon beschrieben:

Die Konvertierung ins OSM-Format macht ein deterministischer Parser den ich genau dafür entwickelt habe in Kombination mit der erwähnten opening-hours-rs Bibliothek

Das Projekt enthält kein LLM und ich habe es auch ohne LLMs entwickelt

Das wird schon alles festgehalten. Das Programm weiß wann an der OSM Node zuletzt die opening_hours oder das check_date:opening_hours geändert wurde. Alle Crawlergebnisse werden mit Zeitstempel abgelegt und auch erkannte Änderungen werden mit Zeitstempel der Erkennung versehen. Ich plane noch eine Ansicht mit einer Art Zeitstrahl zu bauen, auf der man dann für eine Node sehen kann wann was passiert ist

Eine Änderung wird nur empfohlen wenn sie nach der letzten Änderung in OSM erkannt wurde

I don’t think that would be so helpful, only a few websites even contain any opening hours

Interessant ist auch das Thema ‘Ermittlung der Webseite’. Relativ einfach ist der Fall, dass die URL am OSM-Objekt bereits eingetragen ist. Wenn nicht, müsste das Programm versuchen, die zugeordnete Webseite (Internet, Social-Media, …) zu finden.

It depends on the percentage of websites with opening hours your tool can recognize. If it’s > 90% probably not. When fixing opening_hours syntax with the other tool I got the impression that most features with a website (in OSM) and opening hours (in OSM) had the opening hours on the website as well.

Hallo neri,

findest du so eine grobe Gruppierung beim Thema Öffnungszeiten angemessen?
Ich finde, deine Idee den Änderungen der Öffnungszeit gezielt nach zu gehen genial, aber deine Web-Seite schreit doch geradezu danach, um eine Karte (z.B. mit Leaflet) erweitert zu werden.

Klar, da sehen dann 19 festgestellte Änderungen über ganz Deutschland verteilt etwas spärlich aus, aber wenn es darum geht, die Daten vor Ort (OTG) zu verifizieren, ist doch gerade die Regionalität der wesentliche Faktor.

Das Verhältnis von Maschinenlesbare Öffnungzeiten zu Geprüften Orten ist mit gerade mal 6% (14330 / 237906) allerdings ziemlich gering. Hier kann @toc-rox vielleicht etwas dazu sagen, ob/wie man mit KI daran etwas entscheidend verbessern kann.

Ich hab nach nächster Woche wieder Zeit an der Software weiterzuarbeiten und kann dann sicherlich auch eine Kartenansicht hinzufügen. Meine Prioritätenliste ist im Moment: Gruppierung nach Regionen, Buttons fürs Öffnen in Editoren, eine Kartenansicht und dann mehr Öffnungszeiten zu finden

Was wäre deine Meinung dazu, die Änderungen der offiziellen Webseite ohne Prüfung vor Ort vorzunehmen?

Die 19 festgestellten Änderungen werden ab heute Abend mehr werden. Ich hab die Software vor 2 Wochen richtig gestartet und die 15 Tage, die abgewartet werden, um sicherzugehen, dass die neuen Zeiten auf der Webseite stabil bleiben, sind für einige Einträge dann rum

Bisher war mein Fokus erstmal alles ans laufen zu bekommen um dann Feedback bekommen zu können. Ich möchte das Lesen der Öffnungszeiten auch noch auf Seiten ohne Sektion maschinenlesbarer Daten erweitern, aber das täglich für tausende Seiten durch ein LLM erledigen zu lassen wird mir vermutlich zu instabil und teuer. Ich werde versuchen meinen Parser darauf zu erweitern