# MessageHeader

data class MessageHeader(val protocolVersion: String? = null, val messageClass: MessageClass, val messageCategory: MessageCategory, val messageType: MessageType, val serviceId: String? = null, val deviceId: String? = null, val saleId: String, val poiId: String)

Message header of the Sale to POI protocol data

It conveys Information related to the Sale to POI protocol management

## Constructors

MessageHeader
Link copied to clipboard
constructor(protocolVersion: String? = null, messageClass: MessageClass, messageCategory: MessageCategory, messageType: MessageType, serviceId: String? = null, deviceId: String? = null, saleId: String, poiId: String)

## Types

Companion
Link copied to clipboard
object Companion

## Properties

deviceId
Link copied to clipboard
val deviceId: String? = null

It allows a unique identification of a data pair, between a Sale System/Terminal and a POI System/Terminal during period of time, typically one day. This identifier is mandatory for messages of the "Device" MessageClass. For the Device Dialogue (i.e. device request coming from the sale outside a service request/response), DeviceID identifies alone the device data pair. For the Device Dialogue (i.e. device request sent inside a service request/response), DeviceID identifies the device data pair inside the "Service" data pair identified by ServiceID. This identifier is absent for messages of "Service", and "Event" MessageClass. The ServiceID of the data response is always the same value than the ServiceID of the data request. This identifier allows the recognition of duplicate data and association of a data response to its data request. Value of DeviceID could be a structured string of alpha characters, for instance with a prefix to easily distinguish a particular sequence of messages.

messageCategory
Link copied to clipboard
val messageCategory: MessageCategory

Allow the recognition by the receiver of the data of its type. In a Reversal, identify the type of transaction to reverse (PaymentRequest or LoyaltyRequest) In a TransactionStatus, identify the last transaction data

messageClass
Link copied to clipboard
val messageClass: MessageClass

Inform the receiver of the class of data to allow:

messageType
Link copied to clipboard
val messageType: MessageType

Inform the receiver of the category of data to allow:

poiId
Link copied to clipboard
val poiId: String

This is the hierarchical identification of the POI System and (possibly) a POI Terminal if necessary for the related data. Its scope is limited on the Sale to POI protocol only, and has a meaning for the Sale System only. In a Reversal, identify the POI Terminal which has initiated the transaction to reverse. In a TransactionStatus, identify the POI Terminal which has initiated the transaction to enquire. In the body of the Diagnosis request, it allows a POI to request the status of another POI. In the Diagnosis request, the POIID data element identifies the target of the diagnosis. It could point not only a POI Terminal, receiver or not of the Diagnosis request, but also the POI Server

protocolVersion
Link copied to clipboard
val protocolVersion: String? = null

Version of the Sale to POI protocol specifications. For this version of specification, the value is "3.1" Used for messages send outside a session, i.e. which are not between a Login and a Logout. In the Login data request, the Sale System sends the highest version of the Sale to POI protocol it can manage. In the Login data response, the POI System answers with the version of the Sale to POI protocol it will use. The version of the protocol sent in the Login request and response are valid for all the messages inside the session. Format of the protocol version is 'MM.mm', where MM is the major version number and mm the minor version number

saleId
Link copied to clipboard
val saleId: String

This is the hierarchical identification of the Sale System and (possibly) a Sale Terminal if necessary for the related data. Its scope is limited on the Sale to POI protocol only, and has a meaning for the POI System only. In a Reversal, identify the Sale Terminal which has initiated the transaction to reverse. In a TransactionStatus, identify the Sale Terminal which has initiated the transaction to enquire.

serviceId
Link copied to clipboard
val serviceId: String? = null

Identification of a data pair, which processes a transaction

## Functions

toRTRMessageHeader
Link copied to clipboard
fun toRTRMessageHeader(): RTRMessageHeader