# Event notification (/global/en/docs/Terminal/SystemServices/Event-notification)

## Event notification

The Event Notification Service allows the Sale System (EPOS application) to receive real-time transaction process events from the payment terminal.

#### Event Notification Request

EventNotificationParam represents a single event notification sent from the payment terminal to the Sale System.

**EventNotificationParam**

**eventTime** *string* — Required

Date and time when the event occurred.

**event** *enum*

Event reported by the POI to the Sale System.

**Possible enum values**

- `ABRT` — "One or several device requests have been sent by the POI during the processing of a service requested by the Sale System.\nThe processing is cancelled by the Customer or stopped by the POI.\nIf the device response is not received by the POI, an event is sent to inform the Sale System to abort these device requests internally."
- `MAIB` — "Begin of POI Maintenance."
- `CRDI` — "A card is inserted in the card reader (see Input request and NotifyCardInputFlag)."
- `COMP` — "An Abort request has been sent to abort a message which is already completed."
- `CRDR` — "A card is removed from the card reader."
- `CUSL` — "The customer has selected a different language on the POI."
- `MAIE` — "End of POI Maintenance."
- `INIT` — "The POI Terminal or the POI System is now ready to work."
- `KEYP` — "The customer has pressed a specific key on the POI."
- `MAIR` — "Maintenance required by the POI."
- `OODR` — "The POI Terminal or the POI System cannot work."
- `SADM` — "The POI has performed, or wants to perform an automatic administrative process, e.g. the reports at the end of day."
- `SWUP` — "A POI terminal requests the payment of the transaction identified by the content of EventDetails in the Event notification."
- `SECA` — "Problem of security."
- `SHUT` — "The POI Terminal or the POI System is shutting down."
- `SASS` — "Customer assistance is stopped because the customer has completed their input."
- `DISC` — "A disconnection occurred."
- `CNTN` — "Connection has been set up."

**initiatingPartyIdentification** *string*

Identification of Initiating Party.

**notificationMessage** *string*

Custom status message of the event notification.

```java
RetailerManager.setOnEventNotificationCallback((param) -> {
    EventToNotify2Code event = param.getEvent();

    switch (event) {
        case CRDI:
            // Card Inserted
            break;
        case PINE:
            // Waiting for PIN Entry
            break;
    }
});
```