# 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.

```json
{
  "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"
      ]
    }
  }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.kasko.io/kasko-frontend-documentation/guides/knockout-flow.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
