Admin booking journey

One of the most customizable sections of Studio is the Admin Booking Journey. This is because it is one of the most complex aspects and also one where you have the most need for flexibility in structure and business rules.

How the admin booking journey works

The Admin Booking Journey's work by creating a block of data, that is passes and shares between all of the Facets. The Journey process works as follows:

  • The journey creates a shared object that is persisted across the journey and is defaulted with any data that is passed in from a URL, or from an OpenJourney() call that is initialised form elsewhere in the system
  • The Journey finds all of the Facets that are needed for this Journey.
  • Each Facet is called with an onLoad() function that is passed the journey details that allow that Facet to initialise itself
  • Each Facet can set property to define if it should be:
  • Hidden completely
  • Shown by skipped over
  • Stopped at in each step of the journey
  • The Journey routes to show the first configured and visible Facet
  • Each Facet is responsible for updating the journey data with any changes as a result of client interactions
  • After it's done, assuming it doesn't cause the journey to exit, or get re-routed to a completely new journey, it should call the journey.updatedFacet(facet_name) function to signify it's is done
  • The journey is then responsible for calling all of the Facets onUpdate() functions to tell them that some data has changed. This allows a facet to re-asses it's own data. For example, if in one facet you pick a service, that has no pricing, then the pricing facet may decide it can now be skipped. We do no recommend that Facets change their "hidden" status on the fly - as it creates a more jarring user experience, however the should mark them selves as suitable to be skipped over.
  • The Journey is then responsible for showing the next Facet in order

One of the most customizable sections of Studio is the Admin Booking Journey. This is because it is one of the most complex aspects and also one where you have the most need for flexibility in structure and business rules.

Facets

The Admin Booking process works through collection of what are called 'Facets'. Each Facet is a section in the booking process, and different facets can be strung togeher in difernt orders to create an appointment flow. There are differnt default facets for handling the creating of appointments, events, and going through sophisticated basket managements

Each Facet is a Javscript Singleton Class, that is inherited from a BaseFacet. You can create your own facets to either add to a journey, or to replace an existing Facet

Journeys

These Facets are then brought together into a 'Journey'. The platform allows you to create your own custom journeys, or to alter the flow of existing ones