> 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/api-and-command-reference/dynafamily-programmers-manual/notifications/0x18nn-from-user-interface/0x1803-user-interface-host-action-request.md).

# 0x1803 - User Interface Host Action Request

This notification requests that the host take action during operations involving the device’s User Interface modules.

&#x20;For this notification, Notification Detail described in [<mark style="color:red;">**Notification Message**</mark>](https://developer.magtek.com/api-and-command-reference/dynafamily-programmers-manual/message-format-and-structure/message-structure#notification-message-format) contains one byte each:

* The User Interface Module (UI) involved
* The Reason (Rsn) for the notification (UI Event)
* Detail (Det) about the notification that has different meanings depending on the Reason, and
* An Extra field (Ext) that has different meanings depending on the Reason.

## Notification Detail Codes - 0x1803

{% hint style="info" %}
Module 0x00 Miscellaneous contains UI notification detail codes that are not specific to a particular UI module.
{% endhint %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th><th valign="top"></th><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">UI</td><td valign="top">Rsn</td><td valign="top">Det</td><td valign="top">Ext</td><td valign="top">Meaning</td></tr><tr><td valign="top"> </td><td valign="top"> </td><td valign="top"> </td><td valign="top"> </td><td valign="top"> </td></tr></tbody></table>

{% hint style="info" %}
Module 0x01 Touchscreen contains UI notification detail codes that are specific to the touchscreen module (Touch Only).

* Reason 0x01 = Signature Capture
* Reason 0x02 = Functional button selected
* Reason 0x03 = Button text string selected
* Reason 0x04 = Button $Amount selected
* Reason 0x05 = Present card functional button Right is selected
  {% endhint %}

<table data-header-hidden><thead><tr><th width="75.3636474609375" valign="top"></th><th width="78.00006103515625" valign="top"></th><th width="67.0909423828125" valign="top"></th><th width="81.18182373046875" valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">UI</td><td valign="top">Rsn</td><td valign="top">Det</td><td valign="top">Ext</td><td valign="top">Meaning</td></tr><tr><td valign="top">01</td><td valign="top">02</td><td valign="top">01</td><td valign="top">00</td><td valign="top">Touchscreen, Functional button Left selected</td></tr><tr><td valign="top">01</td><td valign="top">02</td><td valign="top">02</td><td valign="top">00</td><td valign="top">Touchscreen, Functional button Middle selected</td></tr><tr><td valign="top">01</td><td valign="top">02</td><td valign="top">03</td><td valign="top">00</td><td valign="top">Touchscreen, Functional button Right selected</td></tr><tr><td valign="top">01</td><td valign="top">03</td><td valign="top">01</td><td valign="top">00</td><td valign="top">Touchscreen, Text string button 1 selected</td></tr><tr><td valign="top">01</td><td valign="top">03</td><td valign="top">02</td><td valign="top">00</td><td valign="top">Touchscreen, Text string button 2 selected</td></tr><tr><td valign="top">01</td><td valign="top">03</td><td valign="top">03</td><td valign="top">00</td><td valign="top">Touchscreen, Text string button 3 selected</td></tr><tr><td valign="top">01</td><td valign="top">03</td><td valign="top">04</td><td valign="top">00</td><td valign="top">Touchscreen, Text string button 4 selected</td></tr><tr><td valign="top">01</td><td valign="top">03</td><td valign="top">05</td><td valign="top">00</td><td valign="top">Touchscreen, Text string button 5 selected</td></tr><tr><td valign="top">01</td><td valign="top">03</td><td valign="top">06</td><td valign="top">00</td><td valign="top">Touchscreen, Text string button 6 selected</td></tr><tr><td valign="top">01</td><td valign="top">04</td><td valign="top">00</td><td valign="top">00</td><td valign="top">Touchscreen, $Amount button selected, Data Attached contain the amount selected as described in Table - Notification Payload for $ Amount button selected, Data Attached</td></tr><tr><td valign="top">01</td><td valign="top">05</td><td valign="top">00</td><td valign="top">00</td><td valign="top">Touchscreen, Present card functional button Right selected</td></tr></tbody></table>

{% hint style="info" %}
Module 0x02 Display contains UI notification detail codes that are specific to the display module. The device primarily uses these notifications to request that the host stand in as a display to interact with cardholders / operators when the device does not have a display of its own or the display is configured with [<mark style="color:red;">**Property 1.2.3.1.2.3**</mark>](https://developer.magtek.com/api-and-command-reference/dynafamily-programmers-manual/properties/1.2.nnnn-device-settings/1.2.3.nnn-user-interface-settings-a#property-1.2.3.1.2.3-send-ui-notifications-along-with-showing-message-on-the-display-display-only) Send UI notifications along with showing message on the display.&#x20;

* Reason 0x01 = Display Message Request
* Reason 0x02 = Cardholder Selection Request
* Reason 0x03 = Online PIN Request (MAGTEK INTERNAL ONLY FOR NOW
  {% endhint %}

<table data-header-hidden><thead><tr><th width="49.90911865234375" valign="top"></th><th width="55.81817626953125" valign="top"></th><th width="51.272705078125" valign="top"></th><th width="50.45452880859375" valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">UI</td><td valign="top">Rsn</td><td valign="top">Det</td><td valign="top">Ext</td><td valign="top">Meaning</td></tr><tr><td valign="top"><p> </p><p>02</p></td><td valign="top"><p> </p><p>01</p></td><td valign="top"><p> </p><p>00</p></td><td valign="top"><p> </p><p>00</p></td><td valign="top"><p>Display, Display Message, No Data Attached, Clear Display.</p><p>The host should clear any existing messages it is currently displaying.</p></td></tr><tr><td valign="top"><p> </p><p> </p><p> </p><p> </p><p>02</p></td><td valign="top"><p> </p><p> </p><p> </p><p> </p><p>01</p></td><td valign="top"><p> </p><p> </p><p> </p><p> </p><p>01</p></td><td valign="top"><p> </p><p> </p><p> </p><p> </p><p>00</p></td><td valign="top"><p>Display, Display Message, Data Attached, No Cancel Function</p><p>In this case, the notification includes additional data and display control, defined in Notification Payload for Display Message Request Notifications, in the Notification Payload portion of the Notification Message.</p><p>This notification is for simple messages. The host should show the requested message until another notification arrives or until the host needs to use the display for its own purposes. For example, during a transaction, this notification will pass along the simple messages in the transaction sequence like CARD READ OK - REMOVE CARD , THANK YOU , and WELCOME .</p></td></tr><tr><td valign="top"><p> </p><p> </p><p> </p><p> </p><p> </p><p>02</p></td><td valign="top"><p> </p><p> </p><p> </p><p> </p><p> </p><p>01</p></td><td valign="top"><p> </p><p> </p><p> </p><p> </p><p> </p><p>02</p></td><td valign="top"><p> </p><p> </p><p> </p><p> </p><p> </p><p>00</p></td><td valign="top"><p>Display, Display Message, Data Attached, Include Cancel Function </p><p>In this case, the notification includes additional data and display control, defined in Notification Payload for Display Message Request Notifications, in the Notification Payload portion of the Notification Message.</p><p> </p><p>The host should show the requested message and should allow the request to be canceled by a cardholder or operator. For example, during a transaction, this notification will pass along the simple messages in the transaction sequence like “TAP, INSERT, or SWIPE CARD,” where cancelation is appropriate. If the cancel button involves canceling the whole transaction, the host should send <a href="https://developer.magtek.com/api-and-command-reference/dynafamily-programmers-manual/commands/0x10nn-transactions/0x1008-cancel-transaction"><mark style="color:red;"><strong>Command 0x1008 - Cancel Transaction.</strong></mark></a></p></td></tr><tr><td valign="top"><p> </p><p> </p><p> </p><p>02</p></td><td valign="top"><p> </p><p> </p><p> </p><p>02</p></td><td valign="top"><p> </p><p> </p><p> </p><p>00</p></td><td valign="top"><p> </p><p> </p><p> </p><p>00</p></td><td valign="top"><p>Display, Cardholder Selection, Data Attached, Reserved </p><p>In this case, the notification includes additional data and display control, defined in</p><p><a href="https://developer.magtek.com/api-and-command-reference/dynafamily-programmers-manual/notifications/0x18nn-from-user-interface/0x1803-user-interface-host-action-request#notification-payload-for-cardholder-selection-notifications-no-display-only"><mark style="color:red;"><strong>Notification Payload for Cardholder Selection Notifications (No Display Only)</strong></mark></a>, in the Notification Payload portion of the Notification Message.</p><p>The host should show the requested selection, then send Command 0x1802 - Report Cardholder Selection to device to return the cardholder’s selection to the device.</p></td></tr></tbody></table>

## Notification Payload for Display Message Request Notifications

<table data-header-hidden><thead><tr><th valign="top"></th><th width="53.45452880859375" valign="top"></th><th width="259.2728271484375" valign="top"></th><th width="55.272705078125" valign="top"></th><th width="56.27264404296875" valign="top"></th><th width="81.36376953125" valign="top"></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value / Description</td><td valign="top">Typ</td><td valign="top">Req</td><td valign="top">Default</td></tr><tr><td valign="top">Beginning of Notification Message </td><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top"></td></tr><tr><td valign="top">1803 = Notification 0x1803 - User Interface Host Action Request</td><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top"></td></tr><tr><td valign="top">/81</td><td valign="top">01</td><td valign="top">Reserved for time functions. 0x00</td><td valign="top">B</td><td valign="top">R</td><td valign="top"> </td></tr><tr><td valign="top"><p> </p><p>/82</p></td><td valign="top"><p> </p><p>01</p></td><td valign="top"><p>Append or Clear Display</p><p>·         0x00 = Append the message(s) on the next available row.</p><p>·         0x01 = Clear the display first and display the requested message on the first row.</p></td><td valign="top"><p> </p><p>B</p></td><td valign="top"><p> </p><p>R</p></td><td valign="top"> </td></tr><tr><td valign="top"><p> </p><p> </p><p> </p><p>/83</p></td><td valign="top"><p> </p><p> </p><p> </p><p>var</p></td><td valign="top"><p>Message</p><p>This parameter is a set of one or more ASCII strings the host should show, with each string terminated by any one of the following characters. MagTek recommends proceeding to the next row on receiving any of these characters:</p><p>·         Null (0x00)</p><p>·         LF (0x0A)</p><p>·         The end of the Message parameter.</p></td><td valign="top"><p> </p><p> </p><p> </p><p>B</p></td><td valign="top"><p> </p><p> </p><p> </p><p>R</p></td><td valign="top"> </td></tr><tr><td valign="top"><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p>/85</p></td><td valign="top"><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p>var</p></td><td valign="top"><p>Enhanced Application Select Message</p><p>For Contactless, this parameter will return the PPSE response starting from tag BF0C</p><p>BF0C &#x3C;LEN>&#x3C;VALUE></p><p>For Contact, this parameter will return all available AID returned from the PSE or List Of AIDs, from tag 70</p><p>70 &#x3C;len></p><p>61 &#x3C;len></p><p>4F&#x3C;len>&#x3C;value of AID> 50&#x3C;len>&#x3C;value of Application Label></p><p>87&#x3C;len>&#x3C;value of Application Priority Indicator> 61 &#x3C;len></p><p>4F&#x3C;len>&#x3C;value of AID> 50&#x3C;len>&#x3C;value of Application Label></p><p>87&#x3C;len>&#x3C;value of Application Priority Indicator, optional></p><p>If the GPO Response returns a Notification 0x0101 - Transaction Information Update of’69 85’, the response will be sent first by the device and this Enhanced Application Select Message will be sent again.</p></td><td valign="top"><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p>B</p></td><td valign="top"><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p>O</p></td><td valign="top"> </td></tr><tr><td valign="top">End of Notification Message</td><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top"></td></tr></tbody></table>

## Notification Payload for $ Amount button selected, Data Attached

<table data-header-hidden><thead><tr><th valign="top"></th><th width="55.9090576171875" valign="top"></th><th valign="top"></th><th width="54.727294921875" valign="top"></th><th width="54.8182373046875" valign="top"></th><th width="81.6363525390625" valign="top"></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value / Description</td><td valign="top">Typ</td><td valign="top">Req</td><td valign="top">Default</td></tr><tr><td valign="top">Beginning of Notification Message .</td><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top"></td></tr><tr><td valign="top">1803 = Command 0x1803 - Display Message (Display Only)</td><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top"></td></tr><tr><td valign="top">84</td><td valign="top">9</td><td valign="top">Amount selected payload</td><td valign="top">B</td><td valign="top">R</td><td valign="top"> </td></tr><tr><td valign="top">/9F02</td><td valign="top">6</td><td valign="top">Dollar and cents amount selected in BCD format</td><td valign="top">B</td><td valign="top">R</td><td valign="top"> </td></tr><tr><td valign="top">End of Notification Message </td><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top"></td></tr></tbody></table>

## Notification Payload for Cardholder Selection Notifications (No Display Only)

<table data-header-hidden><thead><tr><th valign="top"></th><th width="47.727294921875" valign="top"></th><th valign="top"></th><th width="54.727294921875" valign="top"></th><th width="56.6363525390625" valign="top"></th><th width="80.727294921875" valign="top"></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value / Description</td><td valign="top">Typ</td><td valign="top">Req</td><td valign="top">Default</td></tr><tr><td valign="top">Beginning of Notification Message</td><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top"></td></tr><tr><td valign="top">1803 = Notification 0x1803 - User Interface Host Action Request</td><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top"></td></tr><tr><td valign="top">/81</td><td valign="top">01</td><td valign="top">Time in seconds the device will wait for host to respond with <a href="https://developer.magtek.com/api-and-command-reference/dynafamily-programmers-manual/commands/0x18nn-user-interface/0x1802-report-cardholder-selection"><mark style="color:red;"><strong>Command 0x1802 - Report Cardholder Selection</strong></mark></a>.</td><td valign="top">B</td><td valign="top">R</td><td valign="top"> </td></tr><tr><td valign="top"><p> </p><p>/82</p></td><td valign="top"><p> </p><p>01</p></td><td valign="top"><p>Append or Clear Display</p><p>·         0x00 = Append, display the messages on the next line.</p><p>·         0x01 = Clear, clear the display first and display the requested message on the first line.</p></td><td valign="top"><p> </p><p>B</p></td><td valign="top"><p> </p><p>R</p></td><td valign="top"> </td></tr><tr><td valign="top"><p> </p><p> </p><p> </p><p>/83</p></td><td valign="top"><p> </p><p> </p><p> </p><p>var</p></td><td valign="top"><p>Message</p><p>This parameter is a set of one or more ASCII strings the host should show, with each string terminated by any one of the following characters. MagTek recommends proceeding to the next row on receiving any of these characters:</p><p>·         Null (0x00)</p><p>·         LF (0x0A)</p><p>·         The end of the Message parameter.</p></td><td valign="top"><p> </p><p> </p><p> </p><p>B</p></td><td valign="top"><p> </p><p> </p><p> </p><p>R</p></td><td valign="top"> </td></tr><tr><td valign="top">End of Notification Message </td><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top"></td></tr></tbody></table>


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://developer.magtek.com/api-and-command-reference/dynafamily-programmers-manual/notifications/0x18nn-from-user-interface/0x1803-user-interface-host-action-request.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
