> For the complete documentation index, see [llms.txt](https://developer.magtek.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.magtek.com/hardware/card-readers/mms-dyna-devices/dynaflex-ii-go/documents/developers-manuals/programmers-manual-commands/commands/user-interface.md).

# User Interface

## Command Group 0x18nn - User Interface

The host uses this command to provide a cardholder selection to the device when the device itself does not have a display or inputs to prompt the cardholder for a selection.

Sequence of events:

{% stepper %}
{% step %}

### Transaction already started

The host has already invoked Command 0x1001 - Start Transaction  and the transaction is still in process.
{% endstep %}

{% step %}

### Device requests host UI action

During the transaction, if the device does not have a display or touchscreen but needs to show information to the cardholder or needs the cardholder to make a selection, it sends the host **Notification 0x1803 - User Interface Host Action Request** to report Display / Cardholder Selection and supporting information.
{% endstep %}

{% step %}

### Host prompts cardholder

The host uses its user interface to request a selection from the cardholder based on the information and selectable items provided by the notification message.
{% endstep %}

{% step %}

### Host reports the selection to the device

The host sends the user selection to the device by sending Command 0x1802 in the format described below.
{% endstep %}
{% endstepper %}

## Table - Request Data for Command 0x1802 - Report Cardholder Selection

Beginning of any wrappers, at minimum including **Request Message**.

<table><thead><tr><th width="74.66665649414062">Tag</th><th width="74">Len</th><th width="437.33331298828125">Value / Description</th><th width="75.66668701171875">Typ</th><th width="75.33331298828125">Req</th><th width="97.3333740234375">Default</th></tr></thead><tbody><tr><td>1802</td><td></td><td><strong>Command 0x1802 - Report Cardholder Selection</strong></td><td></td><td></td><td></td></tr><tr><td>81</td><td>01</td><td>Cardholder Selection Request Status<br>- 0x00 = Cardholder Selection Request completed, see Selection Result parameter.<br>- 0x01 = Cardholder Selection Request canceled by cardholder, Transaction Aborted.<br>- 0x02 = Cardholder Selection Request timed out, Transaction Aborted.</td><td>B</td><td>R</td><td></td></tr><tr><td>82</td><td>01</td><td>Selection Result — Menu item index the cardholder selected. If the cardholder made no selection or the operation terminated abnormally, the device does not include this parameter.</td><td>B</td><td>O</td><td></td></tr><tr><td></td><td></td><td>End of any wrappers, at minimum including <a href="https://magtek.gitbook.io/magtek-pilot-gitbooks/internal-documentation/index/3.0-messages-requests-responses-notifications-and-files/3.3-message-structure#table-11-request-message-format"><strong>Request Message</strong>.</a></td><td></td><td></td><td></td></tr></tbody></table>

If the request started successfully, the Request Status in the message wrapper is **OK, Started / Running, All good / requested operation was successful**.

## Table - Response Data for Command 0x1802 - Report Cardholder Selection

Beginning of any wrappers, at minimum including **Response Message**.

<table><thead><tr><th width="73.66665649414062">Tag</th><th width="77.3333740234375">Len</th><th>Value / Description</th><th width="75.33331298828125">Typ</th><th width="73.33331298828125">Req</th><th width="97.3333740234375">Default</th></tr></thead><tbody><tr><td>1802</td><td></td><td><strong>Command 0x1802 - Report Cardholder Selection</strong></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td>No parameters.</td><td></td><td></td><td></td></tr><tr><td></td><td></td><td>End of any wrappers, at minimum including <strong>Response Message</strong>.</td><td></td><td></td><td></td></tr></tbody></table>

## Table - Request Example (Hex)

{% code title="Request (hex)" %}

```
AA 00 81 04 01 00 18 02 84 08 18 02 81 01 00 82 01 00
```

{% endcode %}

## Response Example (Hex)

{% code title="Response (hex)" %}

```
AA 00 81 04 82 00 18 02 82 04 01 00 00 00
```

{% endcode %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://developer.magtek.com/hardware/card-readers/mms-dyna-devices/dynaflex-ii-go/documents/developers-manuals/programmers-manual-commands/commands/user-interface.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.
