Anleitungen

Die richtigen Öffnungszeiten je nach Standort des Besuchers anzeigen

„Geöffnet bis 18 Uhr“ ist nur nützlich, wenn der Besucher, der das liest, weiß, welche 18 Uhr Sie meinen. Ein Besucher in einer anderen Zeitzone als Ihr Unternehmen braucht diesen Vergleich in seiner eigenen Ortszeit, nicht in Ihrer.

Die Zeitzone des Besuchers ermitteln

Eine einzige IP-Abfrage liefert direkt ein timezone-Feld und damit alles, was Sie brauchen, ohne separaten Aufruf.

GET /v1/ip?ip=203.0.113.44
{
  "status": "ok",
  "ip": "203.0.113.44",
  "version": 4,
  "found": true,
  "country": "Japan",
  "country_code": "JP",
  "region": "Tokyo",
  "city": "Tokyo",
  "postcode": "100-0001",
  "lat": 35.6762,
  "lon": 139.6503,
  "timezone": "Asia/Tokyo",
  "asn": 2345,
  "org": "Example Telecom"
}

Abgleich mit Ihren Öffnungszeiten

Rechnen Sie Ihre eigenen Öffnungszeiten, die in der Zeitzone Ihres Unternehmens gespeichert sind, mithilfe der gerade abgerufenen Zeitzonenkennung in die Zone des Besuchers um und vergleichen Sie sie dann mit der aktuellen Ortszeit des Besuchers, um zu entscheiden, ob Sie „jetzt geöffnet“ oder „geschlossen“ anzeigen, zusammen mit der Ortszeit, auf die sich diese Anzeige bezieht.

Ein zweites Beispiel: ein Unternehmen mit mehr als einem Standort

Ein Unternehmen mit Standorten in verschiedenen Städten sollte die angegebenen Öffnungszeiten jedes Standorts in dessen eigener gespeicherter Zone nachschlagen und dann jeden einzeln mit der Zone des Besuchers vergleichen, statt anzunehmen, dass überall dieselben Öffnungszeiten gelten. Das ist vor allem dann wichtig, wenn ein Besucher zwei Standorte auf derselben Seite vergleicht, denn im exakt selben Moment kann der eine als geöffnet und der andere als geschlossen erscheinen, wenn sie in verschiedenen Zonen liegen oder die Sommerzeit unterschiedlich handhaben.

Klar sagen, welche Zeitzone Sie meinen

Statt stillschweigend umzurechnen und zu hoffen, dass der Besucher es versteht, zeigen Sie beide Angaben deutlich an, etwa „Derzeit geschlossen. Öffnet um 9 Uhr Ihrer Zeit (Asia/Tokyo).“ Diese Klarheit vermeidet Verwirrung, wenn ein Unternehmen über eine Grenze hinweg tätig ist, die sich auf der einen Seite mit der Sommerzeit verschiebt, auf der anderen aber nicht.

Ein häufiger Fehler, den Sie vermeiden sollten

Berechnen Sie den Vergleich „geöffnet oder geschlossen“ nicht einmalig, um dieses boolesche Ergebnis dann für den Rest der Sitzung des Besuchers zu cachen. Ein Vergleich um 5:55 pm zeigt „geöffnet“ an und ist um 6:05 pm weiterhin falsch, wenn der zugrunde liegende Öffnungsstatus gecacht statt neu berechnet wird. Cachen Sie die Zeitzonenkennung des Besuchers, da sie für eine Sitzung tatsächlich stabil ist, aber berechnen Sie den eigentlichen Vergleich „geöffnet oder geschlossen“ bei jedem Rendern neu.

Ein Sonderfall: Zonen ohne Sommerzeit

Manche Regionen behalten das ganze Jahr über einen festen Offset, während eine Nachbarregion zweimal im Jahr umstellt. Der Abstand zwischen zwei Zonen ist also nicht über das ganze Jahr konstant. Wenn Ihre Vergleichslogik einen Offset in Stunden fest codiert, statt mit der Zeitzonenkennung zu arbeiten und die Umrechnung Ihrer Datumsbibliothek zu überlassen, gerät sie genau in den Wochen rund um eine Sommerzeitumstellung aus dem Takt.

Die Zone cachen, nicht den Öffnungsstatus

Die Zeitzonenkennung des Besuchers ist für eine Sitzung stabil und lohnt sich zu cachen. Ob das Unternehmen gerade geöffnet hat, ändert sich im Laufe des Tages. Berechnen Sie diesen Vergleich daher beim Rendern mit der gecachten Zone neu, statt den Status „geöffnet“ oder „geschlossen“ selbst zu cachen.

Einen bestimmten vergangenen oder künftigen Zeitpunkt prüfen

Wenn Sie wissen müssen, wie der Offset zu einem bestimmten Zeitpunkt war oder sein wird, statt jetzt gerade, etwa um zu bestätigen, zu welcher Uhrzeit eine gestern aufgegebene Bestellung in der Zone des Kunden tatsächlich eingegangen ist, akzeptiert /v1/timezone einen optionalen time-Parameter als Unix-Zeitstempel für genau diese Art von historischer oder künftiger Prüfung.

Kosten der Anfragen

Eine IP-Abfrage pro neuer Besuchersitzung deckt diese Funktion ab. Das ist eine einzige Anfrage, die für die Dauer des Besuchs gecacht wird, sodass selbst eine stark besuchte Shop-Website deutlich innerhalb der 2.500 kostenlosen Anfragen pro Tag bleibt, die in jedem Schlüssel enthalten sind.

„Jetzt geöffnet“ für ein weltweites Publikum richtig anzuzeigen ist eine Frage von einer Abfrage und einem einfachen Zeitvergleich, keine komplizierte Funktion. Die Dokumentation zur IPv4-Abfrage listet die vollständige Antwortstruktur auf.