Användningsfall: Bokning av förvaringsskåp

,

Syftet med denna artikel är att beskriva processen för att sätta upp ett grundläggande bokningssystem för förvaringsskåp med hjälp av Hapio. Låt oss först presentera en uppsättning krav.

Kraven

  • Förvaringsskåpen är bundna till en specifik fysisk plats, och flera fysiska platser bör stödjas.
  • Förvaringsskåpen är bokningsbara dag för dag och är tillgängliga under kontorstid. Alla skåp måste ha sitt eget schema för att ta hänsyn till att specifika skåp är otillgängliga på vissa datum.
  • Schemat skiljer sig mellan vinter och sommar (somrarna har lördagar stängt och vintrarna har söndagar stängt).
  • Det finns två typer av förvaringsskåp; en standard och en premium som har större förvaringsutrymme. 
  • Priset för en bokning bestäms av antalet dagar den är upptagen och priset per dag skiljer sig mellan ett standard- och premiumskåp.
  • En bokning bör endast vara giltig för ett specifikt skåp på en specificerad plats.
  • En bokning ska kunna avbokas.
  • Kundinformation bör lagras för varje bokning.

Hapio-entiteter

Givet kraven ovan, låt oss introducera de Hapio-entiteter som vi kan använda för att implementera detta.

Platser

Platsentiteten i Hapio används för att representera de olika fysiska platserna. I fallet med förvaringsskåp är resursvalstrategin inställd på att slumpa eftersom det inte är av yttersta vikt vilken kund som tilldelas ett specifikt skåp. 

Tjänster

Tjänster används i detta fall för att differentiera mellan standard- och premiumskåp. Genom att använda egenskaperna typ, pris och tid blir det enkelt att sätta upp ytterligare tjänster i framtiden för olika typer av skåp, till exempel de som bokas för en bestämd tid istället för dagligen.

Resurser

Varje förvaringsskåp representeras som en resurs och är i sin mest grundläggande form bara ett namn på skåpet där antalet samtidiga bokningar är satt till ett.

Att associera skåpen till tjänster säkerställer att det är enkelt att differentiera mellan premium- och standardskåp. Det förenklar också de ändringar som behövs om alla standardskåp ersätts av premiumskåp.

Återkommande schema

Scheman för förvaringsskåpen skapas med hjälp av ett återkommande schema för varje skåp. Eftersom öppettiderna skiljer sig mellan sommar och vinter måste två scheman skapas för varje resurs. Sommarschemat börjar i början av maj till slutet av augusti och vinterschemat börjar från den första september till slutet av april.

Återkommande schemablock

För varje schema används återkommande schemablock för att ställa in de olika öppettiderna för varje dag i veckan. Öppettiderna bestämmer var bokningar får skapas för resursen. För sommarschemat är det alla hela dagar förutom lördag, vinterschemat är alla hela dagar förutom söndag.

Bokningar

En bokning är en association mellan en resurs och en tjänst för en specifik plats inom en tillgänglig tid i dess schema.

Det inbyggda stödet för att lagra valfri giltig JSON med hjälp av metadata förenklar mappningen mellan olika system för att få all nödvändig information från en bokning, tillsammans med det inneboende stödet för avbokning och temporära bokningar vilket gör bokningsentiteten extremt flexibel. Dessutom möjliggör användningen av webhooks för bokningshändelser mycket anpassningsbara och sömlösa integrationer med andra system.

Använda Hapio

Med de nödvändiga entiteterna inställda är det dags att titta på hur man utnyttjar kraften i Hapio fullt ut för att komma igång med bokningsprocessen.

En av de vanligaste operationerna är att hitta vilka tidsperioder som är bokningsbara för en given tjänst på en specifik plats. Hapio förenklar operationen genom att exponera en enda endpoint för att hämta alla bokningsbara tider för en given tjänst på en specificerad plats, med möjlighet att endast returnera tider från en specificerad resurs. I fallet med skåpsystemet är det av mindre betydelse vilket skåp en kund tilldelas, så det finns inget behov av att specificera en resurs när man hämtar bokningsbara tider.

Listan över bokningsbara tider ovan inkluderar alla tidsperioder som är tillgängliga för den givna tjänsten. Varje tid innehåller dess start- och sluttider tillsammans med en lista över tillgängliga resurser för den tilldelade tiden. Med hjälp av tiden är det sedan enkelt att skapa en bokning för tjänsten med start- och sluttider och vid behov specificera en resurs för att täcka tiden. Om ingen resurs specificeras för bokningen tilldelar Hapio automatiskt en resurs baserat på platsens resursvalstrategi.

Stödet för metadata-egenskapen på vissa av entiteterna gör det enkelt att mappa Hapio-entiteterna till andra affärsentiteter och kommer med den extra fördelen att ha full kontroll när man gör anpassade sömlösa integrationer med andra system.

Hapios API-första strategi möjliggör maximal flexibilitet eftersom det lika enkelt kan användas av mobilapplikationer som av webbapplikationer. Dessutom kommer Hapio med den extra fördelen att användaren inte behöver växla mellan flera system i sitt dagliga arbete, eftersom Hapio enkelt kan integreras i ens egen administrativa instrumentpanel.

Fördelar med att använda Hapio

Kraven löstes enkelt med hjälp av Hapios inbyggda entiteter. Genom att lägga ut bokningsprocessen till Hapio behöver otaliga timmar inte läggas på att utveckla ett fullfjädrat bokningssystem, och din utveckling kan fokuseras på andra affärsvärden och att fullända kundupplevelsen.

Hapios stöd för webhooks gör det enkelt att reagera på förändringar inom systemet, vilket i sin tur möjliggör ett mycket anpassningsbart bokningssystem som integreras med ens favoritsystem.

Är du intresserad av att integrera Hapio i ditt system? Kom igång nu!

Författare

Mattias