Anwendungsfall: Buchung von Schließfächern

,

Ziel dieses Artikels ist es, die Einrichtung eines einfachen Buchungssystems für Schließfächer mit Hapio zu beschreiben. Zunächst stellen wir eine Reihe von Anforderungen vor.

Die Anforderungen

  • Die Schließfächer sind an einen bestimmten physischen Standort gebunden, und es sollten mehrere physische Standorte unterstützt werden.
  • Die Schließfächer sind tageweise buchbar und während der Geschäftszeiten zugänglich. Alle Schließfächer müssen ihren eigenen Zeitplan haben, damit bestimmte Schließfächer an bestimmten Tagen nicht zugänglich sind.
  • Die Öffnungszeiten unterscheiden sich zwischen Winter und Sommer (im Sommer ist samstags geschlossen, im Winter sonntags).
  • Es gibt zwei Arten von Lagerschränken: einen Basisschrank und einen Premiumschrank, der einen größeren Stauraum bietet. 
  • Der Preis einer Buchung richtet sich nach der Anzahl der Tage, an denen sie belegt ist, und der Preis pro Tag unterscheidet sich zwischen einem Basis- und einem Premium-Schrank.
  • Eine Buchung sollte nur für ein bestimmtes Schließfach an einem bestimmten Ort gültig sein.
  • Eine Buchung sollte stornierbar sein.
  • Die Kundeninformationen sollten für jede Buchung gespeichert werden.

Hapio-Einheiten

In Anbetracht der obigen Anforderungen stellen wir die Hapio-Entitäten vor, die wir für die Implementierung verwenden können.

Standorte

Die Standortentität in Hapio wird verwendet, um die verschiedenen physischen Standorte zu repräsentieren. In diesem Fall von Schließfächern ist die Strategie der Ressourcenauswahl auf Zufallsauswahl eingestellt, da es nicht von größter Bedeutung ist, welchem Kunden ein bestimmtes Schließfach zugewiesen wird. 

Dienstleistungen

Die Dienste werden in diesem Fall zur Unterscheidung zwischen Basis- und Premium-Schließfächern verwendet. Mit Hilfe der Eigenschaften Typ, Preis und Zeit wird es trivial, in Zukunft zusätzliche Dienste für verschiedene Arten von Schließfächern einzurichten, z. B. solche, die für eine feste Zeit statt täglich gebucht werden.

Ressourcen

Jedes Lagerfach wird als Ressource dargestellt und ist in seiner einfachsten Form nur ein Name des Fachs, wobei die Anzahl der gleichzeitigen Buchungen auf eins festgelegt ist.

Durch die Zuordnung der Schließfächer zu den Diensten wird sichergestellt, dass die Unterscheidung zwischen Premium- und Basisschließfächern einfach ist . Dadurch werden auch die Änderungen trivialisiert, die erforderlich sind, wenn alle Basisschließfächer durch Premium-Schließfächer ersetzt werden sollen.

Wiederkehrender Zeitplan

Die Zeitpläne für die Schließfächer werden mit einem wiederkehrenden Zeitplan für jedes Schließfach erstellt. Da die Öffnungszeiten im Sommer und im Winter unterschiedlich sind, müssen für jede Ressource zwei Zeitpläne erstellt werden. Der Sommerzeitplan beginnt Anfang Mai und endet Ende August, der Winterzeitplan beginnt am ersten September und endet Ende April.

Wiederkehrender Terminblock

Für jeden Zeitplan werden wiederkehrende Zeitplanblöcke verwendet, um die verschiedenen Öffnungszeiten für jeden Tag der Woche einzurichten. Die Öffnungszeiten bestimmen, an welchen Tagen Buchungen für die Ressource erstellt werden dürfen. Für den Sommerplan sind dies alle vollen Tage außer Samstag, für den Winterplan alle vollen Tage außer Sonntag.

Buchungen

Eine Buchung ist eine Verbindung zwischen einer Ressource und einem Dienst für einen bestimmten Ort innerhalb einer verfügbaren Zeit in ihrem Zeitplan.

Die eingebaute Unterstützung für die Speicherung beliebiger gültiger JSON-Daten mit Hilfe der Metadaten vereinfacht die Zuordnung zwischen verschiedenen Systemen, um alle erforderlichen Informationen aus einer Buchung zu erhalten, zusammen mit der angeborenen Unterstützung für Stornierungen und temporäre Buchungen, was die Buchungseinheit extrem flexibel macht. Darüber hinaus ermöglicht die Verwendung von Webhooks für Buchungsereignisse hochgradig anpassbare und nahtlose Integrationen mit anderen Systemen.

Hapio verwenden

Nach der Einrichtung der erforderlichen Einheiten ist es nun an der Zeit, die volle Leistungsfähigkeit von Hapio zu nutzen, um mit dem Buchungsprozess zu beginnen.

Eine der häufigsten Operationen besteht darin, herauszufinden, welche Zeitspannen für einen bestimmten Dienst an einem bestimmten Ort buchbar sind. Hapio trivialisiert diesen Vorgang, indem es einen einzigen Endpunkt zur Verfügung stellt, um alle buchbaren Zeitfenster für einen bestimmten Dienst an einem bestimmten Ort abzurufen, mit der Option, nur Zeitfenster von einer bestimmten Ressource zurückzugeben. Im Fall des Schließfachsystems ist es weniger wichtig, welches Schließfach einem Kunden zugewiesen wird, so dass es nicht notwendig ist, eine Ressource anzugeben, wenn buchbare Slots abgefragt werden.

Die obige Liste der buchbaren Slots enthält alle Zeitspannen, die für den jeweiligen Dienst verfügbar sind. Jeder Slot enthält seine Start- und Endzeit zusammen mit einer Liste der verfügbaren Ressourcen für die zugewiesene Zeit. Anhand des Zeitfensters kann dann mühelos eine Buchung für den Dienst mit den Start- und Endzeiten erstellt und bei Bedarf eine Ressource zur Abdeckung des Zeitfensters angegeben werden. Wird keine Ressource für die Buchung angegeben, weist Hapio automatisch eine Ressource auf der Grundlage der Ressourcenauswahlstrategie des Standorts zu.

Die Unterstützung der Metadaten-Eigenschaft bei einigen der Entitäten macht es trivial, die Hapio-Entitäten auf andere Geschäftsentitäten abzubilden, und bietet den zusätzlichen Vorteil, dass man die volle Kontrolle hat, wenn man benutzerdefinierte nahtlose Integrationen mit anderen Systemen vornimmt.

Der API-first-Ansatz von Hapio ermöglicht ein Höchstmaß an Flexibilität, da er von mobilen Anwendungen ebenso einfach genutzt werden kann wie von Webanwendungen. Darüber hinaus bietet Hapio den zusätzlichen Vorteil, dass der Benutzer bei seiner täglichen Arbeit nicht zwischen mehreren Systemen wechseln muss, da Hapio problemlos in das eigene administrative Dashboard integriert werden kann.

Vorteile der Nutzung von Hapio

Die Anforderungen konnten mit Hilfe der in Hapio integrierten Entitäten leicht gelöst werden. Durch die Auslagerung des Buchungsprozesses an Hapio müssen nicht unzählige Stunden für die Entwicklung eines vollwertigen Buchungssystems aufgewendet werden und Ihre Entwicklung kann sich auf andere Geschäftswerte und die Perfektionierung des Kundenerlebnisses konzentrieren.

Hapios Unterstützung für Webhooks macht es mühelos möglich, auf Änderungen innerhalb des Systems zu reagieren, was wiederum ein hochgradig anpassbares Buchungssystem ermöglicht, das sich mit den bevorzugten Systemen des Kunden integrieren lässt.

Sind Sie daran interessiert, Hapio in Ihr System zu integrieren? Fangen Sie jetzt an!

Autor

Mattias