> For the complete documentation index, see [llms.txt](https://regulaforensics.gitbook.io/android/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://regulaforensics.gitbook.io/android/master-6/scenarios.md).

# Scenarios

This page covers the description of available scenarios

**Scenario** is the **main setting** for Document Reader SDK. It controls all scanning process of [Core](/android/master-6/core.md) framework. Depending on the selected scenario, Core works in different ways. The set of available scenarios is different for each Core type. The following part of code allows to get all available scenarios (should be used [**after initialization**](/android/master-6/initialization.md) is completed):

```java
// getting current processing scenario
String currentScenario = DocumentReader.Instance().processParams.scenario;

// list of available scenarios
ArrayList<String> scenarios = new ArrayList<>();
for(DocumentReaderScenario scenario : DocumentReader.Instance().availableScenarios){
    scenarios.add(scenario.name);
}
```

`DocumentReaderScenario` class contains two main properties:

* **name** - name of a scenario, use this value to set scenario for Document Reader SDK.
* **description** - brief description of the scenario functionality and usage.

[**After initialization**](/android/master-6/initialization.md) is completed, the processing scenario should be set, like so:

```java
// set the scenario value
DocumentReader.Instance().processParams.scenario = "Mrz"
```

Comparison table of available scenarios vs results is below:

| Scenario name                   | Multiple pages processing | Document location | MRZ OCR | Barcode data | Document type | Visual zone OCR | Graphic fields | Credit card data |   |
| ------------------------------- | :-----------------------: | :---------------: | :-----: | :----------: | :-----------: | :-------------: | :------------: | :--------------: | - |
| **Locate**                      |             A             |         X         |         |              |               |                 |                |                  |   |
| **Mrz**                         |                           |                   |    X    |              |               |                 |                |                  |   |
| **MrzOrLocate**                 |                           |         O         |    O    |              |               |                 |                |                  |   |
| **MrzAndLocate**                |             A             |         X         |    X    |              |               |                 |                |                  |   |
| **Barcode**                     |                           |                   |         |       X      |               |                 |                |                  |   |
| **MrzOrBarcode**                |                           |                   |    O    |       O      |               |                 |                |                  |   |
| **MrzOrOcr**                    |             A             |         O         |    O    |              |       O       |        O        |        O       |                  |   |
| **MrzOrBarcodeOrOcr**           |                           |         O         |    O    |       O      |       O       |        O        |        O       |                  |   |
| **LocateVisual\_And\_MrzOrOcr** |             A             |         X         |    O    |              |       O       |        O        |        O       |                  |   |
| **DocType**                     |             A             |         O         |    O    |              |       X       |                 |        O       |                  |   |
| **Ocr**                         |             A             |         X         |    O    |              |       X       |        X        |        O       |                  |   |
| **FullProcess**                 |             A             |         X         |    O    |       O      |       X       |        O        |        X       |                  |   |
| **Id3Rus**                      |                           |         O         |    O    |              |       O       |        O        |        O       |                  |   |

**A** - the option is available for this scenario.

**Empty** - the result type is not included in processing list and won't be available

**O** - the result type is not mandatory to reach COMPLETED state. Might be available, when processing is finished.

**X** - the result type is mandatory to reach COMPLETED state and will always be available when processing is finished.

Comparison table of available scenarios vs Cores is below:

| Core name      | MrzOrBarcodeOrOcr | FullProcess | CreditCard | Mrz | Barcode | Locate | Ocr | DocType | MrzOrBarcode | MrzOrLocate | MrzAndLocate | MrzOrOcr | LocateVisual\_And\_MrzOrOcr | Id3Rus |   |
| -------------- | :---------------: | :---------: | :--------: | :-: | :-----: | :----: | :-: | :-----: | :----------: | :---------: | :----------: | :------: | :-------------------------: | :----: | - |
| **bounds**     |                   |             |            |     |         |    X   |     |         |              |             |              |          |                             |        |   |
| **mrz**        |                   |             |            |  X  |         |    X   |     |         |              |      X      |       X      |          |                             |        |   |
| **mrzrfid**    |                   |             |            |  X  |         |    X   |     |         |              |      X      |       X      |          |                             |        |   |
| **barcode**    |                   |             |            |     |    X    |        |     |         |              |             |              |          |                             |        |   |
| **barcodemrz** |                   |             |            |  X  |    X    |    X   |     |         |       X      |      X      |       X      |          |                             |        |   |
| **ocrandmrz**  |                   |             |            |  X  |         |    X   |  X  |    X    |              |      X      |       X      |     X    |              X              |    X   |   |
| **full**       |         X         |      X      |            |  X  |    X    |    X   |  X  |    X    |       X      |      X      |       X      |     X    |              X              |    X   |   |
| **fullrfid**   |         X         |      X      |            |  X  |    X    |    X   |  X  |    X    |       X      |      X      |       X      |     X    |              X              |    X   | X |
