🖼️
KASKO Frontend Documentation
  • README
  • Getting started
    • Setting up a new webapp
    • Webapp manifest
    • Building the flow
    • Defining layouts
    • Defining computed values
    • Defining dynamic paths
  • Core concepts
    • Forms
    • Validation
      • Using existing validators
      • Adding custom validators
    • Configuration
      • Price format
      • Date format
    • Performing API calls
    • Toggling visibility of components
    • Translations
    • Rules For Robust Application
  • Guides
    • Using logical statements (JsonLogic)
    • Adding discount codes
    • Developing Custom Plugins
    • Setting required requests
    • Adding save quote for later
    • Transforming request data
    • Manifest merging strategy
    • Knockout flow
    • Local pricing logic
    • Setting up dashboard policy profile
    • Handling offers
    • Repeater
  • Snippets
    • Reset input state
  • Useful resources
    • All component descriptions
    • JsonLogic core documentation
    • Kasko.js documentation
    • Example webapp
    • Example plugins (w/ various frameworks)
Powered by GitBook
On this page
  • Knockout flow activation
  • Example
  1. Guides

Knockout flow

Sometimes a quote logic has a specific "knockout" logic. This means that theoretically a price could have been given, but for some reason we are deciding not to give it (i.e. if it's company insurance and the selected turnover is too high for it to be insured online).

In such cases we use knockout flow. Usually this is an additional screen with "contact us to get a quote" information.

Knockout flow activation

When quote request returns a request with the status code 422, the KASKO framework sets a is_knockout=true flag in the state. This flag can be used to redirect the customer to the appropriate screen.

Example

Redirect the customer to knockout screen when knockout flow is activated.

{
  "path": "quote",
  "components": [
    {
      "type": "form",
      "config": {
        "components": [
          {
            "type": "form-input",
            "config": {
              "field_name": "data.turnover"
            }
          }
        ]
      }
    }
  ],
  "next": {
    "type": "jsonlogic",
    "schema": {
      "if": [
        {
          "var": "flags.is_knockout"
        },
        "knockout",
        "success"
      ]
    }
  }
}

Last updated 9 months ago