Conditional checkout steps

You can create booking steps, which only appear when certain items are added to the cart.
To do that, first go to the booking steps settings.
There you can open a step of type “Extras” and you will find a new field “Display only for”. Here you can select a tag (group), for which this step should display.

In this example we say, that the step should only display for items with the tag “Category A”. So when a customer adds an item with this tag to the cart, then the step will display. If not, it will not appear.
A real life example of how to use it, could be something like:
You have a camper and car rental. When someone books a camper, you want to show an extra step with insurance items, where a customer can only select 1 option.
When somebody books a car though, you don’t want to display it, because there is only one option, which is automatically added to the cart.
To achieve something like that, you could create a step “Chose insurance”, set it to a “Min. quantity” and “Max. quantity” of 1 and tell it to only display for the tag “camper”.
You could also combine this with the already existing “Display only for” option in data-form steps, to then display a specific data-form, based on the chosen insurance option.
This way you could have a custom booking flow for campers, but somebody renting a car would see none of it (because it would not be relevant to them).
Here’s a little flowchart visualising this:

Important note
Steps of the type “System”, can not be made optional. So contact data and the “Payment” step, will still always appear. The reason for that is that the system always requires a customer email-address (which is collected in the contact data step) and the payment step must always exist to show the customer a summary and allow him to select a payment method, accept terms and conditions and finish the booking.