The built in Facets are listed below. Each Facet has a singeton instance that is re-initialised as a specific journey is run through, allow data to be persisted between journeys if needed. It also allows Facets to refer to each other if needed.

Each Facet has a class name and a unique name. The name, which you can use to override the built in Facets, is how each Facet is built into a Journey.

Each Facet has a series of config options that can be controlled via the configurator.

Facet ClassUnique NamePurpose
BasketItemsFacetbasket_itemsReview a list of items in a basket, remove ones and have links to add new ones or checkout
BookingStatusFacetbooking_statusAllow control of the type of booking, i.e. Booked, Reserved, Enquired. Tends to be hidden and just autoselect the correct type for the services
BookingTypeRouterFacetbooking_type_routerA large selecto the actaully routes to other facet types. Useul when starting with a journey that is "book something" that then lets you route to different journey types based on the user choice
CheckoutFacetcheckoutA checkout page that shows the basket to be checked out and performs the checkout action
ClientFacetclientA client selector page that allows you to select one or more clients, search for existing ones, create new ones, or simply add a note.
ConfirmFacetconfirmThis basic confirm page is used to normally add an item to a basket. It's responsible for gather data from the other Facets and adding something to a basket item
DateFacetdateA page the helps pick a date/time. This is one of the most complex facets as it can vary wildy based on data in the journey, such as selection of service, staff, resources etc..
EventFaceteventA page that helps pick a specific occurrence of an event
EventGroupFacetevent_groupA page that helps pick the group of an event
LocationFacetlocationA page that allows the staff to select an appointment location if it's relevant. This is a page that is often used as a call centre, or if you allow cross-location booking
PersonFacetpersonThis is a page that allows you to select one or more staff member who will be selected for an appointment, or other journey
PricingFacetpricingThis is a page that helps customise the price to be paid. This is important for applying discounts, giving customer reasons for discounts etc...
QuestionFacetquestionThis page is response for asking and questions that are appropriate for the booking
ResourceFacetresourceThis page is used to select the resource, or resources to be used for the journey
ServiceFacetserviceThis page is used to select the service that will be used in the booking journey
TicketFacetticketThis page allows for the selection of tickets for an event