Files
adyen-openapi/yaml/TerminalAPI-v1.yaml
Adyen Automation d80adb64c9 spec release
2025-06-04 10:05:46 +02:00

6579 lines
203 KiB
YAML

openapi: 3.1.0
info:
version: '1'
title: Adyen Terminal API
description: "The Adyen [Terminal API](https://docs.adyen.com/point-of-sale/design-your-integration/terminal-api/)\
\ lets you make payments, issue refunds, collect shopper information, and perform\
\ other shopper-device interactions using a payment terminal supplied by Adyen.\
\ The Terminal API is also used for transactions in [Adyen Mobile solutions](https://docs.adyen.com/point-of-sale/ipp-mobile/).\n\
\n## API structure\nThe architecture of Terminal API is determined by the [nexo\
\ Sale to POI Protocol Specifications](https://www.nexo-standards.org/standards/nexo-retailer-protocol).\n\
\nA Terminal API request is a JSON message consisting of a `SaleToPOIRequest`\
\ object with:\n- [`MessageHeader`](https://docs.adyen.com/point-of-sale/design-your-integration/terminal-api/#request-message-header):\
\ identifies the type of transaction, the terminal or Mobile SDK instance being\
\ used, and unique transaction identifiers.\n- **Request body**: content depending\
\ on the type of transaction or operation, for example, a `PaymentRequest`.\n\n\
A Terminal API response is a JSON message consisting of a `SaletoPOIResponse`with:\n\
* [`MessageHeader`](https://docs.adyen.com/point-of-sale/design-your-integration/terminal-api/#response-message-header):\
\ echoes the values provided in the request, except for `MessageType`, which is\
\ always **Response**.\n* Response body: content depending on the type of transaction\
\ or operation, for example, a `PaymentResponse`.\n\n## Sending and receiving\n\
In an integration with Ayden payment terminals, you can send and receive Terminal\
\ API messages in the following ways:\n- [Local communications](https://docs.adyen.com/point-of-sale/design-your-integration/choose-your-architecture/local/):\
\ using your local network, your POS system sends the request directly to the\
\ IP address of the terminal, and receives the result synchronously.\n- [Cloud\
\ communications](https://docs.adyen.com/point-of-sale/design-your-integration/choose-your-architecture/cloud/):\
\ using the internet to access the cloud, your POS system sends the request to\
\ an Adyen endpoint, and Adyen forwards the request to the terminal. Your POS\
\ system either keeps the connection open and receives the response synchronously,\
\ or closes the connection and receives the response asynchronously in an event\
\ notification.\n\n## Using local communications\nTo learn how to set up and protect\
\ local communications, refer to [Building a local integration](https://docs.adyen.com/point-of-sale/design-your-integration/choose-your-architecture/local/).\n\
\n## Endpoints for cloud communications\nIf your POS system is cloud-based, you\
\ POST your Terminal API requests to a **Cloud device API** endpoint, using path\
\ and query parameters to identify the device that you want to send the request\
\ to.\n- If your POS system is designed to keep the connection open to wait for\
\ the response, use the endpoints ending in `/sync`.\n- If your POS system is\
\ designed to close the connection so that it can initiate a new request, use\
\ the endpoints ending in `/async`.\n\n### Test endpoints\n- `https://device-api-test.adyen.com/v1/merchants/{merchantAccount}/devices/{deviceId}/sync`\n\
- `https://device-api-test.adyen.com/v1/merchants/{merchantAccount}/devices/{deviceId}/async`\n\
\n### Live endpoints\nThe live endpoints differ per region. In addition to using\
\ a regional endpoint, you must select the geographically closest data center\
\ in your live Customer Area.\n\n**Australia**\n- `https://device-api-live-au.adyen.com/v1/merchants/{merchantId}/devices/{deviceId}/sync`\n\
- `https://device-api-live-au.adyen.com/v1/merchants/{merchantId}/devices/{deviceId}/async`\n\
\n**East Asia**\n- `https://device-api-live-apse.adyen.com/v1/merchants/{merchantId}/devices/{deviceId}/sync`\n\
- `https://device-api-live-apse.adyen.com/v1/merchants/{merchantId}/devices/{deviceId}/async`\n\
\n**Europe**\n- `https://device-api-live.adyen.com/v1/merchants/{merchantId}/devices/{deviceId}/sync`\n\
- `https://device-api-live.adyen.com/v1/merchants/{merchantId}/devices/{deviceId}/async`\n\
\n**United States**\n- `https://device-api-live-us.adyen.com/v1/merchants/{merchantId}/devices/{deviceId}/sync`\n\
- `https://device-api-live-us.adyen.com/v1/merchants/{merchantId}/devices/{deviceId}/async`\n\
\n ### Old endpoints\nIf you currently use endpoints with a base URL that includes\
\ `terminal-api`, we strongly recommend migrating to Cloud device API endpoints,\
\ for the following reasons:\n- When using Cloud device API, the API logs in the\
\ Customer Area include the Terminal API requests and responses.\n- Cloud device\
\ API endpoints offer technical advantages such as versioning and better routing.\n\
- Future enhancements and features will be based on Cloud device API.\n\nThere\
\ will be no future development on the old endpoints, but we continue to support\
\ them.\n\n**Old test endpoints**:\n- `https://terminal-api-test.adyen.com/sync`\
\ and `https://terminal-api-test.adyen.com/async`\n\n**Old live endpoints Australia**:\n\
- `https://terminal-api-live-au.adyen.com/sync` and `https://terminal-api-live-au.adyen.com/async`\n\
\n**Old live endpoints East Asia**:\n- `https://terminal-api-live-apse.adyen.com/sync`\
\ and `https://terminal-api-live-apse.adyen.com/async`\n\n**Old live endpoints\
\ Europe**:\n- `https://terminal-api-live.adyen.com/sync` and `https://terminal-api-live.adyen.com/async`\n\
\n**Old live endpoints United States**:\n- `https://terminal-api-live-us.adyen.com/sync`\
\ and `https://terminal-api-live-us.adyen.com/async`\n\n## Authentication for\
\ cloud communications\nEach request to a **Cloud device API** endpoint must be\
\ signed with an API key that has the **Cloud Device API role**. [Generate your\
\ API Key](https://docs.adyen.com/development-resources/api-credentials#generate-api-key)\
\ in the Customer Area and set this key to the `X-API-Key` header value of the\
\ Cloud device API request.\n\nWhen going live, generate a new API key in the\
\ live Customer Area.\n\n## Available Terminal API requests\n"
servers:
- description: with cloud integration
url: https://terminal-api-test.adyen.com/sync
- description: with cloud integration
url: https://terminal-api-test.adyen.com/async
- description: with local-hosting
url: <local-terminal-IP-address>
paths:
/login:
post:
description: 'It conveys information related to the session (period between
a Login and the following Logout) to process.
Content of the `LoginRequest` message.'
summary: Login Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LoginRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResponse'
description: 'It conveys Information related to the Login to process.
Content of the Login Response message.'
/logout:
post:
description: 'Empty.
Content of the Logout Request message.'
summary: Logout Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LogoutRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LogoutResponse'
description: 'It conveys the result of the Logout.
Content of the Logout Response message.'
/enableservice:
post:
description: 'It conveys the services that will be enabled for the POI Terminal
without the request of the Sale System, and a possible invitation for the
Customer to start the services.
Content of the Enable Service Request message.'
summary: EnableService Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EnableServiceRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/EnableServiceResponse'
description: 'It conveys the result of the Enable Service processing.
Content of the Enable Service Response message.'
/admin:
post:
description: 'Empty.
Content of the Custom Admin Request message.'
summary: Admin Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AdminRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AdminResponse'
description: 'It conveys the result of the Custom Admin.
Content of the Custom Admin Response message.'
/payment:
post:
description: 'Request sent to terminal to initiate payment.
It conveys Information related to the Payment transaction to process.
Content of the `PaymentRequest` message.'
summary: Payment Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentResponse'
description: 'It conveys Information related to the Payment transaction
processed by the POI System.
Content of the Payment Response message.'
/cardacquisition:
post:
description: 'It conveys Information related to the payment and loyalty cards
to read and analyse. This message pair is usually followed by a message pair
(e.g. payment or loyalty) which refers to this Card Acquisition message pair.
Content of the Card Acquisition Request message.'
summary: CardAcquisition Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CardAcquisitionRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CardAcquisitionResponse'
description: 'It conveys Information related to the payment and loyalty
cards read and processed by the POI System and entered by the Customer.
Content of the Card Acquisition Response message.'
/loyalty:
post:
description: 'It conveys Information related to the Loyalty transaction to process.
Content of the Loyalty Request message.'
summary: Loyalty Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LoyaltyRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LoyaltyResponse'
description: 'It conveys Information related to the Loyalty transaction
processed by the POI System.
Content of the Loyalty Response message.'
/storedvalue:
post:
description: 'It conveys Information related to the Stored Value transaction
to process.
Content of the Stored Value Request message.'
summary: StoredValue Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StoredValueRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/StoredValueResponse'
description: 'It conveys Information related to the Stored Value transaction
processed by the POI System.
Content of the Stored Value Response message.'
/reversal:
post:
description: 'It conveys Information related to the reversal of a previous payment
or a loyalty transaction.
Content of the Reversal Request message.'
summary: Reversal Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReversalRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ReversalResponse'
description: 'It conveys Information related to the reversal processed by
the POI System.
Content of the Reversal Response message.'
/reconciliation:
post:
description: 'Content of the Reconciliation Request message.
It conveys Information related to the Reconciliation requested by the Sale
System.'
summary: Reconciliation Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReconciliationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ReconciliationResponse'
description: 'It conveys Information related to the Reconciliation transaction
processed by the POI System.
Content of the Reconciliation Response message.'
/gettotals:
post:
description: 'It conveys information from the Sale System related to the scope
and the format of the totals to be computed by the POI System.
Content of the Get Totals Request message.'
summary: GetTotals Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetTotalsRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetTotalsResponse'
description: 'Content of the Reconciliation Response message.
It conveys Information related to the Reconciliation transaction processed
by the POI System.'
/balanceinquiry:
post:
description: 'It conveys Information related to the account for which a Balance
Inquiry is requested.
Content of the Balance Inquiry Request message.'
summary: BalanceInquiry Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BalanceInquiryRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BalanceInquiryResponse'
description: 'Content of the Balance Inquiry Response message.
It conveys the balance and the identification of the associated payment,
loyalty or stored value account.'
/transactionstatus:
post:
description: 'Content of the TransactionStatus Request message.
It conveys Information requested for status of the last or current Payment,
Loyalty or Reversal transaction.'
summary: TransactionStatus Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionStatusRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionStatusResponse'
description: 'Content of the TransactionStatus Response message.
It conveys Information related to the status of the last or current Payment,
Loyalty or Reversal transaction.'
/abort:
post:
description: 'Body of the Abort Request message.
It conveys Information requested for identification of the message request
carrying the transaction to abort. A message to display on the CustomerError
Device could be sent by the Sale System (DisplayOutput).'
summary: Abort Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AbortRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AbortResponse'
description: A successful `AbortRequest` returns a response with a **200
OK** HTTP status code and no body.
/diagnosis:
post:
description: 'It conveys Information related to the target POI for which the
diagnosis is requested.
Content of the Diagnosis Request message.'
summary: Diagnosis Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DiagnosisRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DiagnosisResponse'
description: 'It conveys the result of the requested diagnosis and a possible
message to display on a logical device.
Content of the Diagnosis Response message.'
/display:
post:
description: 'It conveys the data to display and the way to process the display.
It contains the complete content to display. It might contain an operation
(the DisplayOutput element) per Display Device type.
Content of the Display Request message.'
summary: Display Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DisplayRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DisplayResponse'
description: 'It conveys the result of the display, parallel to the message
request, except if response not required and absent.
Content of the Display Response message.'
/input:
post:
description: Content of the `InputRequest` message. It conveys the data to display
and how to process it. In addition to the display on the Input Device, it
might contain an operation (the `DisplayOutput` element) per Display Device
type.
summary: Input Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InputRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InputResponse'
description: 'It conveys the result of the input or the result of the outputs,
parallel to the message request, except if response not required and absent.
Content of the Input Response message.'
/print:
post:
description: 'Content of the Print Request message.
It conveys the complete data to print and how to process the print.'
summary: Print Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PrintRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PrintResponse'
description: 'It conveys the result of the print, parallel to the message
request, except if response not required and absent.
Content of the Print Response message.'
/cardreaderapdu:
post:
description: 'It contains the APDU request to send to the chip of the card,
and a possible invitation message to display on the CashierInterface or the
CustomerInterface.
Content of the Card Reader APDU Request message.'
summary: CardReaderAPDU Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CardReaderAPDURequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CardReaderAPDUResponse'
description: 'Content of the Card Reader APDU Response message.
It contains the result of the requested service, APDU response sent by
the chip of the card in response to the APDU request.'
components:
schemas:
TerminalEnvironment:
type: string
description: 'Environment of the Terminal. Sent in the Login Request (Response)
to identify the environment of the Sale System (POI System) during the session.
Sent in other messages when the data has changed since the Login.
Possible values:
* **Attended**
* **SemiAttended**
* **Unattended**'
enum:
- Attended
- SemiAttended
- Unattended
GenericProfile:
type: string
description: 'Functional profile of the Sale to POI protocol. Sent in the Login
Request to identify the messages that might be requested or received by the
Sale Terminal during the session. Sent in the Login Response to identify the
messages that might be processed or sent by the POI Terminal during the session.
Possible values:
* **Basic**
* **Extended**
* **Standard**'
enum:
- Basic
- Extended
- Standard
ServiceProfiles:
type: array
description: 'Service profiles of the Sale to POI protocol. Sent in the Login
Request to identify the specific services that might be requested by the Sale
Terminal during the session. Sent in the Login Response to identify the specific
services that might be processed by the POI Terminal during the session.
Possible values:
* **Batch**
* **CardReader**
* **Communication**
* **Loyalty**
* **OneTimeRes**
* **PIN**
* **Reservation**
* **Sound**
* **StoredValue**
* **Synchro**'
items:
type: string
enum:
- Batch
- CardReader
- Communication
- Loyalty
- OneTimeRes
- PIN
- Reservation
- Sound
- StoredValue
- Synchro
SaleCapabilities:
type: array
description: 'place holder!
Possible values:
* **CashierDisplay**
* **CashierError**
* **CashierInput**
* **CashierStatus**
* **CustomerAssistance**
* **CustomerDisplay**
* **CustomerError**
* **CustomerInput**
* **EMVContactless**
* **ICC**
* **MagStripe**
* **POIReplication**
* **PrinterDocument**
* **PrinterReceipt**
* **PrinterVoucher**'
items:
type: string
enum:
- CashierDisplay
- CashierError
- CashierInput
- CashierStatus
- CustomerAssistance
- CustomerDisplay
- CustomerError
- CustomerInput
- EMVContactless
- ICC
- MagStripe
- POIReplication
- PrinterDocument
- PrinterReceipt
- PrinterVoucher
TokenRequestedType:
type: string
description: 'Type of token replacing the PAN of a payment card to identify
the payment mean of the customer. It allows, for a merchant, to use a token
for a transaction only or for a longer period.
Possible values:
* **Customer**
* **Transaction**'
enum:
- Customer
- Transaction
CustomerOrderReq:
type: array
description: 'List of customer order open, closed or both to be sent in the
response messages.
Possible values:
* **Both**
* **Closed**
* **Open**'
items:
type: string
enum:
- Both
- Closed
- Open
TrackFormat:
type: string
description: 'Magnetic track or magnetic ink characters line.
Possible values:
* **AAMVA**
* **ISO**'
enum:
- AAMVA
- ISO
EntryMode:
type: array
items:
type: string
enum:
- Contactless
- File
- ICC
- Keyed
- MagStripe
- Manual
- Mobile
- RFID
- Scanned
- SynchronousICC
- Tapped
Result:
type: string
enum:
- Failure
- Partial
- Success
ErrorCondition:
type: string
enum:
- Aborted
- Busy
- Cancel
- DeviceOut
- InProgress
- InsertedCard
- InvalidCard
- LoggedOut
- MessageFormat
- NotAllowed
- NotFound
- PaymentRestriction
- Refusal
- UnavailableDevice
- UnavailableService
- UnreachableHost
- WrongPIN
GlobalStatus:
type: string
enum:
- Busy
- Maintenance
- OK
- Unreachable
PrinterStatus:
type: string
description: 'Indicates if the printer is working and usable.
Possible values:
* **NoPaper**
* **OK**
* **OutOfOrder**
* **PaperJam**
* **PaperLow**'
enum:
- NoPaper
- OK
- OutOfOrder
- PaperJam
- PaperLow
POICapabilities:
type: array
description: 'Hardware capabilities of the POI Terminal. They are the POI capabilities
the POI System allows the Sale System to use. These POI capabilities include
the logical devices enumerated in the devices data element (most of these
devices could be on the POI part), plus card reader devices. Sent in the Login
Response to identify the devices of the POI Terminal which can be used by
the Sale System during the session.
Possible values:
* **CashHandling**
* **CashierDisplay**
* **CashierError**
* **CashierInput**
* **CustomerDisplay**
* **CustomerError**
* **CustomerInput**
* **EMVContactless**
* **ICC**
* **MagStripe**
* **PrinterDocument**
* **PrinterReceipt**
* **PrinterVoucher**'
items:
type: string
enum:
- CashHandling
- CashierDisplay
- CashierError
- CashierInput
- CustomerDisplay
- CustomerError
- CustomerInput
- EMVContactless
- ICC
- MagStripe
- PrinterDocument
- PrinterReceipt
- PrinterVoucher
Device:
type: string
enum:
- CashierDisplay
- CashierInput
- CustomerDisplay
- CustomerInput
InfoQualify:
type: string
enum:
- CustomerAssistance
- Display
- Document
- Error
- Input
- POIReplication
- Receipt
- Sound
- Status
- Voucher
OutputFormat:
type: string
description: 'Format of the content to display or print. Display or print device
function.
Possible values:
* **BarCode**
* **MessageRef**
* **Text**
* **XHTML**'
enum:
- BarCode
- MessageRef
- Text
- XHTML
Color:
type: string
enum:
- Black
- Blue
- Cyan
- Green
- Magenta
- Red
- White
- Yellow
CharacterWidth:
type: string
enum:
- DoubleWidth
- SingleWidth
CharacterHeight:
type: string
enum:
- DoubleHeight
- HalfHeight
- SingleHeight
CharacterStyle:
type: string
enum:
- Bold
- Italic
- Normal
- Underline
Alignment:
type: string
enum:
- Centred
- Justified
- Left
- Right
BarcodeType:
type: string
description: 'Type of Barcode coding. Qualification of the barcode value to
display or print.
Possible values:
* **Code128**
* **Code25**
* **EAN13**
* **EAN8**
* **PDF417**
* **QRCode**
* **UPCA**'
enum:
- Code128
- Code25
- EAN13
- EAN8
- PDF417
- QRCode
- UPCA
MenuEntryTag:
type: string
description: 'Characteristics related to the selection of a menu entry.
Possible values:
* **NonSelectable**
* **NonSelectableSubMenu**
* **Selectable**
* **SubMenu**'
enum:
- NonSelectable
- NonSelectableSubMenu
- Selectable
- SubMenu
TransactionAction:
type: string
description: "Action to realise on a transaction. In an `EnableService` request\
\ message:\n - Starts a transaction by a swipe-ahead mechanism, with the\
\ services which are enabled.\n - Aborts a swipe-ahead transaction or started\
\ by a `CardAcquisition`, and not followed by a service request from the Sale\
\ System to complete the transaction.\nPossible values:\n* **AbortTransaction**\n\
* **StartTransaction**"
enum:
- AbortTransaction
- StartTransaction
ServicesEnabled:
type: array
description: 'Services which are enabled before the start-up of a transaction.
Mandatory if `TransactionAction` is `StartTransaction`, absent if not.
Possible values:
* **CardAcquisition**
* **Loyalty**
* **Payment**'
items:
type: string
enum:
- CardAcquisition
- Loyalty
- Payment
UnitOfMeasure:
type: string
enum:
- Case
- Centilitre
- Centimetre
- Foot
- Gram
- Inch
- Kilogram
- Kilometre
- Litre
- Meter
- Mile
- Other
- Ounce
- Pint
- Pound
- Quart
- UKGallon
- USGallon
- Yard
PaymentType:
type: string
enum:
- CashAdvance
- CashDeposit
- Completion
- FirstReservation
- Instalment
- IssuerInstalment
- Normal
- OneTimeReservation
- PaidOut
- Recurring
- Refund
- UpdateReservation
PaymentInstrumentType:
type: string
enum:
- Card
- Cash
- Check
- Mobile
- StoredValue
TypeCode:
type: string
enum:
- Company
- Personal
StoredValueAccountType:
type: string
enum:
- GiftCard
- Other
- PhoneCard
IdentificationType:
type: string
enum:
- AccountNumber
- BarCode
- ISOTrack2
- PAN
- PhoneNumber
LoyaltyUnit:
type: string
enum:
- Monetary
- Point
IdentificationSupport:
type: string
description: 'Support of the loyalty account identification. Allows knowing
where and how you have found the loyalty account identification.
Possible values:
* **HybridCard**
* **LinkedCard**
* **LoyaltyCard**
* **NoCard**'
enum:
- HybridCard
- LinkedCard
- LoyaltyCard
- NoCard
InstalmentType:
type: string
description: 'Type of instalment transaction. For requesting an instalment payment
transaction.
Possible values:
* **DeferredInstalments**
* **EqualInstalments**
* **InequalInstalments**'
enum:
- DeferredInstalments
- EqualInstalments
- InequalInstalments
PeriodUnit:
type: string
description: 'Type of instalment transaction.
Possible values:
* **Annual**
* **Daily**
* **Monthly**
* **Weekly**'
enum:
- Annual
- Daily
- Monthly
- Weekly
LoyaltyHandling:
type: string
enum:
- Allowed
- Forbidden
- Processed
- Proposed
- Required
ForceEntryMode:
type: array
items:
type: string
enum:
- CheckReader
- Contactless
- File
- ICC
- Keyed
- MagStripe
- Manual
- RFID
- Scanned
- SynchronousICC
- Tapped
DocumentQualifier:
type: string
enum:
- CashierReceipt
- CustomerReceipt
- Document
- Journal
- SaleReceipt
- Voucher
AuthenticationMethod:
type: array
description: 'Method for customer authentication. Allows the Sale System informed
about customer authentication for the payment transaction.
Possible values:
* **Bypass**
* **ManualVerification**
* **MerchantAuthentication**
* **OfflinePIN**
* **OnlinePIN**
* **PaperSignature**
* **SecureCertificate**
* **SecureNoCertificate**
* **SecuredChannel**
* **SignatureCapture**
* **UnknownMethod**'
items:
type: string
enum:
- Bypass
- ManualVerification
- MerchantAuthentication
- OfflinePIN
- OnlinePIN
- PaperSignature
- SecureCertificate
- SecureNoCertificate
- SecuredChannel
- SignatureCapture
- UnknownMethod
LoyaltyTransactionType:
type: string
description: "Type of loyalty transaction. These types of loyalty transactions\
\ use the same message requests:\n * **Award**: direct or payment-related\
\ award on a loyalty account.\n * **Rebate**: rebate on a total amount, sale\
\ item amount, or sale items.\n * **Redemption**: redemption on a loyalty\
\ account.\n * **AwardRefund**: refund of a loyalty award transaction.\n\
\ * **RebateRefund**: refund of a loyalty rebate transaction.\n * **RedemptionRefund**:\
\ refund of a loyalty redemption transaction.\nPossible values:\n* **Award**\n\
* **AwardRefund**\n* **Rebate**\n* **RebateRefund**\n* **Redemption**\n* **RedemptionRefund**"
enum:
- Award
- AwardRefund
- Rebate
- RebateRefund
- Redemption
- RedemptionRefund
StoredValueTransactionType:
type: string
enum:
- Activate
- Duplicate
- Load
- Reserve
- Reverse
- Unload
ReversalReason:
type: string
description: 'Reason of the payment or loyalty reversal.
Possible values:
* **CustCancel**
* **Malfunction**
* **MerchantCancel**
* **Unable2Compl**'
enum:
- CustCancel
- Malfunction
- MerchantCancel
- Unable2Compl
ReconciliationType:
type: string
enum:
- AcquirerReconciliation
- AcquirerSynchronisation
- PreviousReconciliation
- SaleReconciliation
TransactionType:
type: string
enum:
- Award
- CashAdvance
- CompletedDeffered
- CompletedReservation
- Credit
- Debit
- Declined
- Failed
- FirstReservation
- IssuerInstalment
- OneTimeReservation
- Rebate
- Redemption
- ReverseAward
- ReverseCredit
- ReverseDebit
- ReverseRebate
- ReverseRedemption
- UpdateReservation
TotalDetails:
type: array
description: 'Indicates the hierarchical structure of the reconciliation result
of the Sale to POI reconciliation.
Required to present totals per value of element included in this cluster (POI
Terminal, Sale Terminal, Cashier, Shift, TotalsGroupID).
Possible values:
* **OperatorID**
* **POIID**
* **SaleID**
* **ShiftNumber**
* **TotalsGroupID**'
items:
type: string
enum:
- OperatorID
- POIID
- SaleID
- ShiftNumber
- TotalsGroupID
AccountType:
type: string
description: 'Type of cardholder account used for the transaction. Allows a
cardholder to select the type of account used for the transaction.
Possible values:
* **CardTotals**
* **Checking**
* **CreditCard**
* **Default**
* **EpurseCard**
* **Investment**
* **Savings**
* **Universal**'
enum:
- CardTotals
- Checking
- CreditCard
- Default
- EpurseCard
- Investment
- Savings
- Universal
MessageCategory:
type: string
enum:
- Abort
- Admin
- BalanceInquiry
- CardAcquisition
- CardReaderAPDU
- Diagnosis
- Display
- EnableService
- Event
- GetTotals
- Input
- InputUpdate
- Login
- Logout
- Loyalty
- None
- Payment
- Print
- Reconciliation
- Reversal
- StoredValue
- TransactionStatus
MessageType:
type: string
enum:
- Notification
- Request
- Response
MessageClass:
type: string
enum:
- Device
- Event
- Service
EventToNotify:
type: string
description: 'Event the POI notifies to the Sale System.
Possible values:
* **Abort**
* **BeginMaintenance**
* **CardInserted**
* **CardRemoved**
* **Completed**
* **CustomerLanguage**
* **EndMaintenance**
* **Initialised**
* **KeyPressed**
* **OutOfOrder**
* **Reject**
* **SaleAdmin**
* **SaleWakeUp**
* **SecurityAlarm**
* **Shutdown**
* **StopAssistance**
* **UseAnotherCardForPreauth**'
enum:
- Abort
- BeginMaintenance
- CardInserted
- CardRemoved
- Completed
- CustomerLanguage
- EndMaintenance
- Initialised
- KeyPressed
- OutOfOrder
- Reject
- SaleAdmin
- SaleWakeUp
- SecurityAlarm
- Shutdown
- StopAssistance
- UseAnotherCardForPreauth
InputCommand:
type: string
enum:
- DecimalString
- DigitString
- GetAnyKey
- GetConfirmation
- GetFunctionKey
- GetMenuEntry
- Password
- SiteManager
- TextString
ResponseMode:
type: string
enum:
- Immediate
- NotRequired
- PrintEnd
- SoundEnd
SoundFormat:
type: string
enum:
- MessageRef
- SoundRef
- Text
SoundAction:
type: string
enum:
- SetDefaultVolume
- StartSound
- StopSound
PINFormat:
type: string
enum:
- ISO0
- ISO1
- ISO2
- ISO3
PINRequestType:
type: string
description: 'Type of PIN Service.
Possible values:
* **PINEnter**
* **PINVerify**
* **PINVerifyOnly**'
enum:
- PINEnter
- PINVerify
- PINVerifyOnly
SaleToIssuerData:
type: object
description: 'Sale information intended for the Issuer.
The POI System receives this information and sends it to the Acquirer for
the Issuer without any change.'
properties:
StatementReference:
type: string
pattern: ^.+$
description: Label to print on the bank statement.
TrackData:
type: object
description: 'Magnetic track or magnetic ink characters line.
ISO 7813 - ISO 4909.
Generic data structure for a card track, used when the magstripe card reader
is located on the Sale Terminal, or for magstripe Card Reader device request.
The data structure is also used to store the line at the bottom of a bank
check.'
properties:
TrackNumb:
type: integer
minimum: 1
maximum: 3
default: 2
description: Card track number.
TrackFormat:
$ref: '#/components/schemas/TrackFormat'
description: 'Card track format.
Possible values:
* **AAMVA**
* **ISO**'
TrackValue:
type: string
pattern: ^.{1,104}$
description: Card track content.
required:
- TrackValue
SensitiveCardData:
type: object
description: 'This data structure could be CMS protected (EnvelopedData). In
this case the data structure SensitiveCardData is replaced by the data structure
ProtectedCardData of type ContentInformationType.
When this data is protected, the exact content is unknown by the Sale System,
and might include
all the information which are required by an external backup POI Server to
make a batch payment
transaction in case of problem with the POI System.
Sensitive information related to the payment card, entered or read
by the Sale System.'
properties:
PAN:
type: integer
minimum: 8
maximum: 28
description: Primary Account Number.
CardSeqNumb:
type: integer
minimum: 2
maximum: 3
description: 'Card Sequence Number.
If EntryMode is File, Keyed, or Manual.'
ExpiryDate:
type: integer
minimum: 4
maximum: 4
description: 'Date after which the card cannot be used.
If EntryMode is File.'
TrackData:
type: array
items:
$ref: '#/components/schemas/TrackData'
description: 'Magnetic track or magnetic ink characters line.
If EntryMode is MagStripe or RFID .'
PaymentToken:
type: object
description: "Surrogate of the PAN (Primary Account Number) of the payment card\
\ to\n identify the payment mean of the customer. It allows, for a merchant,\
\ to identify\n the customer."
properties:
TokenRequestedType:
$ref: '#/components/schemas/TokenRequestedType'
description: "Type of token replacing the PAN of a payment card to identify\
\ the payment\n mean of the customer. It allows, for a merchant, to use\
\ a token for a transaction\n only or for a longer period.\nPossible values:\n\
* **Customer**\n* **Transaction**"
TokenValue:
type: string
pattern: ^.+$
description: "Payment token replacing the PAN of the payment card to identify\
\ the payment\n mean of the customer."
ExpiryDateTime:
type: string
format: date-time
description: Expiry date and time. Limits the validity of a payment token.
required:
- TokenRequestedType
- TokenValue
CustomerOrder:
type: object
description: 'Customer order attached to a customer, recorded in the POI system.
Allows the management of customer orders by the POI, for instance in a
multi-channel or a click and collect sale transaction.'
properties:
CustomerOrderID:
type: string
pattern: ^.+$
description: Additional and optional identification of a customer order.
SaleReferenceID:
type: string
pattern: ^.+$
description: Identification of a Sale global transaction for a sequence
of related POI transactions. Identification of a reservation transaction
for the sequence of reservation and the completion.
OpenOrderState:
type: boolean
default: true
description: 'Specifies if a customer order is currently Open. An open customer
order
is an order waiting for further operations.'
StartDate:
type: string
format: date-time
description: Date time of the beginning of an operation.
EndDate:
type: string
format: date-time
description: Date time of the end of an operation.
ForecastedAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: "Depending on the choice of the sale system it could equal\
\ the initial amount\n of the order or the global amount of the order.\
\ If ForecastedAmount equals\n the initial amount of the order it will\
\ allow the system to follow any additional\n payment. In case of equality\
\ with the global amount of the order, the system\nwill then be able to\
\ follow remaining amounts."
CurrentAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Total amount of all completed transactions of a customer order.
Currency:
type: string
pattern: ^[A-Z]{3,3}$
description: Currency of a monetary amount.
AccessedBy:
type: string
pattern: ^.+$
description: 'Identification of an entity accessing data to perform an operation.
Allow
the synchronisation of customer order processing, when several parts of
the Sale System
access a customer order at the same time. The Sale entity active on the
customer order is identified
by this data.'
AdditionalInformation:
type: string
pattern: ^.+$
description: Unqualified information.
required:
- SaleReferenceID
- StartDate
- ForecastedAmount
- CurrentAmount
AllowedProduct:
type: object
description: 'Product that is payable by the payment card.
Product codes that are payable by the payment card.'
properties:
ProductCode:
type: integer
minimum: 1
maximum: 20
description: Product code of item purchased with the transaction.
EanUpc:
type: integer
description: Standard product code of item purchased with the transaction.
ProductLabel:
type: string
pattern: ^.+$
description: Product name of an item purchased with the transaction.
AdditionalProductInfo:
type: string
pattern: ^.+$
description: Additionl information related to the line item.
required:
- ProductCode
CardData:
type: object
description: 'Information related to the payment card used for the transaction.
Allows acquisition of the card data by the Sale System before the Payment,
CardAcquisition, or BalanceInquiry request to the POI. It can also be sent
in the CardAcquisition response, to be processed by the Sale System.'
properties:
PaymentBrand:
type: string
pattern: ^.+$
description: 'Type of payment card.
If card PAN is readable.
Indicates the card used to pay in the PaymentResponse. Sent in the CardAcquisitionResponse,
to leave the Cashier to choose between several applications in a smartcard,
or several brand in a co-branded card. In this case, the CardAcquisitionRequest.ForceCustomerSelectionFlag
must contain the value False. Brands are part of the POI and Sale Systems
configurations.'
MaskedPan:
type: string
pattern: ^.+$
description: 'Masked Primary Account Number
Part of the PAN is replaced by a string of * characters, to identify a
customer account or relationship. Presence of this data element, which
replace the PAN when SensitiveCardData is protected and replaced by ProtectedCardData.
Alternatively the MaskedPAN can be used as a token to identify a customer.'
PaymentAccountRef:
type: string
pattern: ^.+$
description: Reference of the PAN, which identifies the PAN or the card
uniquely, named also PAR (Payment Account Reference). This reference may
be defined by the card issuer or by a token service provider under the
control of the card issuer, and cannot be used for a payment transaction.
EntryMode:
$ref: '#/components/schemas/EntryMode'
description: 'Entry mode of the payment instrument information. In the Payment,
Loyalty or StoredValue Request messages, it informs the POI System the
entry mode of the payment instrument information when read by the Sale
Terminal. In the Payment, Loyalty or StoredValue Response messages, it
informs the Sale System the entry mode of the payment instrument.
Possible values:
* **Contactless**
* **File**
* **ICC**
* **Keyed**
* **MagStripe**
* **Manual**
* **Mobile**
* **RFID**
* **Scanned**
* **SynchronousICC**
* **Tapped**'
CardCountryCode:
type: integer
minimum: 3
maximum: 3
description: 'Country Code attached to the card (3 numerics).
If available in the card.'
ProtectedCardData:
type: string
description: 'Sensitive information related to the payment card, protected
by CMS.
SensitiveCardData protected by CMS EnvelopedData.'
SensitiveCardData:
$ref: '#/components/schemas/SensitiveCardData'
description: 'Sensitive information related to the payment card, entered
or read by the Sale System.
If structure non empty and unprotected.'
AllowedProductCode:
type: array
items:
type: integer
minimum: 1
maximum: 20
description: 'Product codes that are payable by the payment card.
If not all the products are accepted for the payment card proposed by
the Customer. In this case, Result is failure, ErrorCondition is Payment
Restriction.
For One Time Reservation, the POI can send product codes payable by
the payment, even if the POI did not send SaleItem in the request. If
at least one product sent
in the request is accepted, the Result is Success.
Product codes that are payable by the payment card. If all the products
are not accepted for the payment card proposed by the Customer. In this
case, Result is failure and ErrorCondition is Payment Restriction. For
One Time Reservation, the POI can send product codes payable by the
payment, even if the POI did not send SaleItem in the request. If at
least one product sent in the request is accepted, the Result is Success.'
description: 'Product codes that are payable by the payment card.
If not all the products are accepted for the payment card proposed by
the Customer. In this case, Result is failure, ErrorCondition is Payment
Restriction.
For One Time Reservation, the POI can send product codes payable by the
payment, even if the POI did not send SaleItem in the request. If at least
one product sent
in the request is accepted, the Result is Success.
Product codes that are payable by the payment card. If all the products
are not accepted for the payment card proposed by the Customer. In this
case, Result is failure and ErrorCondition is Payment Restriction. For
One Time Reservation, the POI can send product codes payable by the payment,
even if the POI did not send SaleItem in the request. If at least one
product sent in the request is accepted, the Result is Success.'
AllowedProduct:
type: array
items:
$ref: '#/components/schemas/AllowedProduct'
description: Product that is payable by the payment card.
PaymentToken:
$ref: '#/components/schemas/PaymentToken'
description: 'Surrogate of the PAN (Primary Account Number) of the payment
card to identify the payment mean of the customer. It allows, for a merchant,
to identify the customer.
Restriction of product payable by a card.'
CustomerOrder:
type: array
items:
$ref: '#/components/schemas/CustomerOrder'
description: Customer order attached to a customer, recorded in the POI
system. Allows the management of customer orders by the POI, for instance
in a multi-channel or a click and collect sale transaction.
TransactionIDType:
type: object
description: Identification of a transaction for the Sale System or the POI
System.
properties:
TransactionID:
type: string
pattern: ^.+$
description: 'Unique identification of a transaction to identify the transaction
on
the Sale System (e.g. ticket number), or the POI System.'
TimeStamp:
type: string
format: date-time
description: "Date and time of a transaction for the Sale System, the POI\
\ System or the Acquirer.\n Ensures the uniqueness of a transaction and\
\ indicates the time when the event\n occurs in the EventNotification\
\ message."
required:
- TransactionID
- TimeStamp
SaleTerminalData:
type: object
description: 'Information related to the software and hardware features of the
Sale Terminal.
Sent in the Login Request if a Sale Terminal is involved in the login. In
other messages, sent when a logical device is out of order (SaleCapabilities)
or when other data have changed or were missing in the Login.'
properties:
TotalsGroupID:
type: string
pattern: ^.{1,16}$
description: 'Identification of a group of transactions on a POI Terminal,
having the same Sale features.
Could be used to group POI for reconciliation or other purpose defined
by the Sale System. The default value is assigned by the Login Request.'
SaleData:
type: object
description: Data associated with the Sale System, with a particular value during
the processing of the payment by the POI, including the cards acquisition.
properties:
OperatorID:
type: string
pattern: ^.+$
description: Identification of the Cashier or Operator.
OperatorLanguage:
type: string
pattern: ^[a-z]{2,2}$
description: 'Language of the Cashier or Operator.
If different from the Login.'
ShiftNumber:
type: string
pattern: ^.+$
description: 'Shift number.
If different from the Login, see Login SaleData.'
SaleTransactionID:
$ref: '#/components/schemas/TransactionIDType'
description: Identification of a Sale transaction.
SaleReferenceID:
type: string
pattern: ^.+$
description: 'Identification of a Sale global transaction for a sequence
of related POI transactions.
If payment reservation.'
SaleTerminalData:
$ref: '#/components/schemas/SaleTerminalData'
description: 'Information related to the software and hardware features
of the Sale Terminal.
If content is not empty.'
TokenRequestedType:
$ref: '#/components/schemas/TokenRequestedType'
description: "Type of token replacing the PAN of a payment card to identify\
\ the payment\n mean of the customer. It allows, for a merchant, to use\
\ a token for a transaction\n only or for a longer period.\nPossible values:\n\
* **Customer**\n* **Transaction**"
CustomerOrderID:
type: string
pattern: ^.+$
description: Additional and optional identification of a customer order.
CustomerOrderReq:
$ref: '#/components/schemas/CustomerOrderReq'
description: 'List of customer order open, closed or both to be sent in
the response messages.
Possible values:
* **Both**
* **Closed**
* **Open**'
SaleToPOIData:
type: string
pattern: ^.+$
description: 'Sale information intended for the POI.
Stored with the transaction.'
SaleToAcquirerData:
type: string
pattern: ^.+$
description: 'Sale information intended for the Acquirer.
Send to the Acquirer if present.'
SaleToIssuerData:
$ref: '#/components/schemas/SaleToIssuerData'
description: 'Sale information intended for the Issuer.
Send to the Acquirer if present.'
required:
- SaleTransactionID
POIData:
type: object
description: 'Data related to the POI System.
In the Message Response, identification of the POI transaction.'
properties:
POITransactionID:
$ref: '#/components/schemas/TransactionIDType'
description: Unique identification of a POI transaction for a POI.
POIReconciliationID:
type: integer
description: 'Identification of the reconciliation period between Sale and
POI.
If Result is Success.'
required:
- POITransactionID
SaleSoftware:
type: object
description: Information related to the software of the Sale System which manages
the NEXO Sale to POI protocol.
properties:
ManufacturerID:
type: string
pattern: ^.+$
description: Identification of the Manufacturer.
ApplicationName:
type: string
pattern: ^.+$
description: Name of the software product.
SoftwareVersion:
type: string
pattern: ^.+$
description: Version of the software product.
CertificationCode:
type: string
pattern: ^.+$
description: Certification code of the software which manages the Sale to
POI protocol.
required:
- ManufacturerID
- ApplicationName
- SoftwareVersion
- CertificationCode
CoinsOrBills:
type: object
description: 'Indicates the remaining number of coins or bills of a given value
in a cash handling device. When the cash handling machine does not have any
more coins or bills of a certain value, the number must be equal to 0.
Number of coins or bills of a given value.'
properties:
UnitValue:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Value of a coin or bill.
Number:
type: integer
description: Number of coins or bills of a certain value.
required:
- UnitValue
- Number
CashHandlingDevice:
type: object
description: 'Indicate the status and the remaining coins and bill in a cash
handling device.
Status of cash handling device.'
properties:
CashHandlingOKFlag:
type: boolean
description: Indicates if the cash handling device is working and usable.
Currency:
type: string
pattern: ^[A-Z]{3,3}$
description: Currency of a monetary amount.
CoinsOrBills:
type: array
items:
$ref: '#/components/schemas/CoinsOrBills'
description: Number of coins or bills of a given value.
required:
- CashHandlingOKFlag
- Currency
- CoinsOrBills
POIStatus:
type: object
description: 'Indicate the availability of the POI Terminal components. The
data element is absent if the component is not part of the POI Terminal.
State of a POI Terminal.'
properties:
GlobalStatus:
$ref: '#/components/schemas/GlobalStatus'
description: 'Global status of a POI Server or POI Terminal.
Possible values:
* **Busy**
* **Maintenance**
* **OK**
* **Unreachable**'
SecurityOKFlag:
type: boolean
description: 'Indicates if the security module of the POI is working and
usable.
If security module present.'
PEDOKFlag:
type: boolean
description: 'Indicates if the PED is working and usable.
If PED present.'
CardReaderOKFlag:
type: boolean
description: 'Indicates if the card readers are working and usable.
If card reader device present.'
PrinterStatus:
$ref: '#/components/schemas/PrinterStatus'
description: 'Possible values:
* **NoPaper**
* **OK**
* **OutOfOrder**
* **PaperJam**
* **PaperLow**'
CommunicationOKFlag:
type: boolean
description: 'Indicates if the communication infrastructure is working and
usable.
If communication infrastructure present.'
CashHandlingDevice:
type: array
items:
$ref: '#/components/schemas/CashHandlingDevice'
description: 'Status of cash handling device.
If cash handling devices present.'
FraudPreventionFlag:
type: boolean
description: 'Indicates a suspicion of fraud by the POI System.
Could be set to True by the POI system to notify to the Sale system and
the Cashier that a suspicion of fraud had been detected on the POI as
an unexpected reboot of the POI.'
required:
- GlobalStatus
Response:
type: object
description: 'Result of a message request processing.
If Result is Success, `ErrorCondition` is absent or not used in the processing
of the message. In the other cases, the `ErrorCondition` has to be present
and can refine the processing of the message response. `AdditionalResponse`
gives more information about the success or the failure of the message request
processing, for logging without real time involvements.'
properties:
Result:
$ref: '#/components/schemas/Result'
description: 'Result of the processing of the message.
Possible values:
* **Failure**
* **Partial**
* **Success**'
ErrorCondition:
$ref: '#/components/schemas/ErrorCondition'
description: 'Condition that has produced an error on the processing of
a message request.
Returned if Result is not Success.
Possible values:
* **Aborted**
* **Busy**
* **Cancel**
* **DeviceOut**
* **InProgress**
* **InsertedCard**
* **InvalidCard**
* **LoggedOut**
* **MessageFormat**
* **NotAllowed**
* **NotFound**
* **PaymentRestriction**
* **Refusal**
* **UnavailableDevice**
* **UnavailableService**
* **UnreachableHost**
* **WrongPIN**'
AdditionalResponse:
type: string
pattern: ^.+$
description: 'Additional information related to processing status of a message
request.
If present, the POI logs it for further examination.'
required:
- Result
POISoftware:
type: object
description: Information related to the software of the POI System which manages
the Sale to POI protocol. In a session allows identifying the product features
of a POI System.
properties:
ManufacturerID:
type: string
pattern: ^.+$
description: Identification of the Manufacturer. Sent in the Login Request
(Response) to identify the Sale System (POI System) manufacturer during
the session.
ApplicationName:
type: string
pattern: ^.+$
description: Name of the software product. Sent in the Login Request (Response)
to identify the Sale System (POI System) product name during the session.
SoftwareVersion:
type: string
pattern: ^.+$
description: Version of the software product. Sent in the Login Request
(Response) to identify the version of the Sale System (POI System) product
software during the session.
CertificationCode:
type: string
pattern: ^.+$
description: Certification code of the software which manages the Sale to
POI protocol. Sent in the Login Request (Response) to get the certification
code of the Sale System (POI System) product software. This code can be
a software checksum or any number associated with the software.
required:
- ManufacturerID
- ApplicationName
- SoftwareVersion
- CertificationCode
POIProfile:
type: object
properties:
GenericProfile:
$ref: '#/components/schemas/GenericProfile'
description: 'Possible values:
* **Basic**
* **Extended**
* **Standard**'
ServiceProfiles:
$ref: '#/components/schemas/ServiceProfiles'
description: 'Possible values:
* **Batch**
* **CardReader**
* **Communication**
* **Loyalty**
* **OneTimeRes**
* **PIN**
* **Reservation**
* **Sound**
* **StoredValue**
* **Synchro**'
POITerminalData:
type: object
description: Information related to the software and hardware features of the
POI Terminal. In a session, it allows identifying the features of the POI
Terminal attached to a Sale Terminal per Login Request message.
properties:
TerminalEnvironment:
$ref: '#/components/schemas/TerminalEnvironment'
description: 'Environment of the Terminal. Sent in the Login Request (Response)
to identify the environment of the Sale System (POI System) during the
session. In other message, when the data has changed since the Login.
Possible values:
* **Attended**
* **SemiAttended**
* **Unattended**'
POICapabilities:
$ref: '#/components/schemas/POICapabilities'
description: 'Hardware capabilities of the POI Terminal. They are the POI
capabilities the POI System allows the Sale System to use. These POI capabilities
include the logical devices enumerated in the devices data element (most
of these devices could be on the POI part), plus card reader devices.
Sent in the Login Response to identify the devices of the POI Terminal
which can be used by the Sale System during the session.
Possible values:
* **CashHandling**
* **CashierDisplay**
* **CashierError**
* **CashierInput**
* **CustomerDisplay**
* **CustomerError**
* **CustomerInput**
* **EMVContactless**
* **ICC**
* **MagStripe**
* **PrinterDocument**
* **PrinterReceipt**
* **PrinterVoucher**'
POIProfile:
$ref: '#/components/schemas/POIProfile'
description: Functional profile of the POI Terminal. Sent in the Login Response
to identify the profiles the POI Terminal support during the session.
POISerialNumber:
type: string
pattern: ^.+$
description: Serial number of a POI Terminal. Sent in the Login Request
by the Sale System to inform the POI System about the last known POI Terminal
hardware.
required:
- TerminalEnvironment
- POICapabilities
- POISerialNumber
POISystemData:
type: object
properties:
DateTime:
type: string
format: date-time
description: Date and Time. In the response, the POI System gives its date
and time to the Sale System.
POISoftware:
$ref: '#/components/schemas/POISoftware'
POITerminalData:
$ref: '#/components/schemas/POITerminalData'
POIStatus:
$ref: '#/components/schemas/POIStatus'
required:
- DateTime
- POISoftware
OutputText:
type: object
description: 'Content of text message to display or print.
It conveys information related to the content of the text message and its
format. All the data elements related to the format of the text to display
or print are parameters valid for the whole text content.'
properties:
Text:
type: string
description: Content of text message to display, print or play.
CharacterSet:
type: integer
description: Character height of the text string to display or print. Absence
of this data element means the characters have normal height.
Font:
type: string
pattern: ^.+$
description: Name of the font. Used to change character font of the output,
as agreed between the POI and Sale Systems.
StartRow:
type: integer
minimum: 1
maximum: 500
description: Row where the text string has to be displayed or printed.
StartColumn:
type: integer
minimum: 1
maximum: 500
description: Column where the text string has to be displayed or printed.
Color:
$ref: '#/components/schemas/Color'
description: 'Color of the text string to display or print.
Possible values:
* **Black**
* **Blue**
* **Cyan**
* **Green**
* **Magenta**
* **Red**
* **White**
* **Yellow**'
CharacterWidth:
$ref: '#/components/schemas/CharacterWidth'
description: 'Character width of the text string to display or print. Absence
of this data element means the characters have normal width.
Possible values:
* **DoubleWidth**
* **SingleWidth**'
CharacterHeight:
$ref: '#/components/schemas/CharacterHeight'
description: 'Character height of the text string to display or print. Absence
of this data element means the characters have normal height.
Possible values:
* **DoubleHeight**
* **HalfHeight**
* **SingleHeight**'
CharacterStyle:
$ref: '#/components/schemas/CharacterStyle'
description: 'Typographic style of the sequence of characters to display
or print. Absence of this data element means the characters have normal
style.
Possible values:
* **Bold**
* **Italic**
* **Normal**
* **Underline**'
Alignment:
$ref: '#/components/schemas/Alignment'
description: 'Alignment of the text string on the display line or print
line. Absence of this data element means the characters have normal alignment.
Possible values:
* **Centred**
* **Justified**
* **Left**
* **Right**'
EndOfLineFlag:
type: boolean
default: true
description: Indicates if the text is at the end of a line. Allows the display
or the print of a new line and a carry-over return characters after the
formatted text.
required:
- Text
PredefinedContent:
type: object
description: 'Reference of a predefined message to display or print.
It conveys information related to the predefined message.'
properties:
ReferenceID:
type: string
pattern: ^.+$
description: Identification of a predefined message to display or print.
Language:
type: string
pattern: ^[a-z]{2,2}$
description: Identification of a language.
required:
- ReferenceID
OutputBarcode:
type: object
properties:
BarcodeType:
$ref: '#/components/schemas/BarcodeType'
description: 'Type of Barcode coding. Qualification of the barcode value
to display or print.
Possible values:
* **Code128**
* **Code25**
* **EAN13**
* **EAN8**
* **PDF417**
* **QRCode**
* **UPCA**'
BarcodeValue:
type: string
pattern: ^.+$
description: Value with a Barcode coding. The barcode value to display or
print.
required:
- BarcodeValue
OutputContent:
type: object
description: 'Content to display or print.
This is a sequence of elements if they have different formats.'
properties:
OutputFormat:
$ref: '#/components/schemas/OutputFormat'
description: 'Format of the content to display or print.
Possible values:
* **BarCode**
* **MessageRef**
* **Text**
* **XHTML**'
PredefinedContent:
$ref: '#/components/schemas/PredefinedContent'
description: 'Reference of a predefined message to display or print.
Mandatory, if `OutputFormat` is MessageRef, not allowed otherwise.'
OutputText:
type: array
items:
$ref: '#/components/schemas/OutputText'
description: 'Content of text message to display or print.
Mandatory, if `OutputFormat` is Text, not allowed otherwise. One instance
of `OutputText` per shared format.'
OutputXHTML:
type: string
format: byte
pattern: ^.{0,262144}$
description: 'XHTML document body containing the message to display or print.
Mandatory if `OutputFormat` is XHTML, not allowed otherwise.'
OutputBarcode:
$ref: '#/components/schemas/OutputBarcode'
description: 'Barcode content to display or print.
Mandatory if `OutputFormat` is Barcode, not allowed otherwise.'
required:
- OutputFormat
MenuEntry:
type: object
description: 'An entry of the menu to present to the Cashier.
It conveys message text and parameters of the menu entry. This output data
could be only provided for an input command, in order to choose an entry of
the menu.'
properties:
MenuEntryTag:
$ref: '#/components/schemas/MenuEntryTag'
description: 'Characteristics related to the selection of a menu entry.
Possible values:
* **NonSelectable**
* **NonSelectableSubMenu**
* **Selectable**
* **SubMenu**'
DefaultSelectedFlag:
type: boolean
default: false
description: Selection of a menu entry to be displayed. In Input request
message, it allows selection of one or several menu entries before any
user action.
OutputFormat:
$ref: '#/components/schemas/OutputFormat'
description: 'Possible values:
* **BarCode**
* **MessageRef**
* **Text**
* **XHTML**'
PredefinedContent:
$ref: '#/components/schemas/PredefinedContent'
OutputText:
type: array
items:
$ref: '#/components/schemas/OutputText'
description: Content of text message to display or print. It conveys Information
related to the content of the text message and its format. All the data
elements related to the format of the text to display or print are parameters
valid for the whole Text content.
OutputXHTML:
type: string
format: byte
pattern: ^.+$
description: XHTML document body containing the message to display or print.
required:
- OutputFormat
DisplayOutput:
type: object
description: 'Information to display and how to process it.
Contains a complete display operation for a Display or an Input Device type.
For the Input Devices, Diagnosis and `EnableService`, `ResponseRequiredFlag`,
and `MinimumDisplayTime` shall be absent.'
properties:
ResponseRequiredFlag:
type: boolean
default: true
description: Indicates if the message response is required.
MinimumDisplayTime:
type: integer
minimum: 0
maximum: 999
default: 0
description: Number of seconds the message has to be displayed.
Device:
$ref: '#/components/schemas/Device'
description: 'Logical device located on a Sale Terminal or a POI Terminal,
in terms of class of information to output (display, print, or store),
or input (keyboard) for the Cashier or the Customer.
Possible values:
* **CashierDisplay**
* **CashierInput**
* **CustomerDisplay**
* **CustomerInput**'
InfoQualify:
$ref: '#/components/schemas/InfoQualify'
description: 'Qualification of the information to sent to an output logical
device, to display or print to the Cashier or the Customer. Allows the
manager of the device, Sale or POI Terminal, to send the information to
a particular physical device or to present the information accordingly.
Possible values:
* **CustomerAssistance**
* **Display**
* **Document**
* **Error**
* **Input**
* **POIReplication**
* **Receipt**
* **Sound**
* **Status**
* **Voucher**'
OutputContent:
$ref: '#/components/schemas/OutputContent'
description: Content to display or print.
MenuEntry:
type: array
items:
$ref: '#/components/schemas/MenuEntry'
description: An entry of the menu to present to the Cashier. It conveys
the message text and parameters of the menu entry. This output data could
be only provided for an input command, in order to choose an entryof the
menu.
OutputSignature:
type: string
format: byte
pattern: ^.+$
description: 'Vendor-specific signature of the text message to display or
print.
If protection has to be provided to the vendor on the text to display
or print.'
required:
- Device
- InfoQualify
- OutputContent
SaleItem:
type: object
description: 'Sale items of a transaction.
In loyalty or value added payment card transaction, the items of the sale
that are processed in the transaction.'
properties:
ItemID:
type: integer
description: Item identification inside a transaction (0 to n).
ProductCode:
type: integer
minimum: 1
maximum: 20
description: Product code of item purchased with the transaction.
EanUpc:
type: integer
description: 'Standard product code of item purchased with the transaction.
If data sent, POI has to store it and send it if the host protocol allows
it.'
UnitOfMeasure:
$ref: '#/components/schemas/UnitOfMeasure'
description: 'Unit of measure of a quantity.
If Quantity is present.
Possible values:
* **Case**
* **Centilitre**
* **Centimetre**
* **Foot**
* **Gram**
* **Inch**
* **Kilogram**
* **Kilometre**
* **Litre**
* **Meter**
* **Mile**
* **Other**
* **Ounce**
* **Pint**
* **Pound**
* **Quart**
* **UKGallon**
* **USGallon**
* **Yard**'
Quantity:
type: string
description: 'Product quantity.
If data is sent, POI has to store it and send it if the host protocol
allows it.'
UnitPrice:
type: number
maximum: 99999999.999999
minimum: 0.0
description: 'Price per unit of product.
If Quantity is present.'
ItemAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Total amount of the item line.
TaxCode:
type: integer
description: 'Type of taxes associated with the line item.
If data is sent, POI has to store it and send it if the host protocol
allows it.'
SaleChannel:
type: integer
description: 'Commercial or distribution channel associated with the line
item.
If data sent, POI has to store it and send it if the host protocol allows
it.'
ProductLabel:
type: string
pattern: ^.+$
description: Product name of an item purchased with the transaction.
AdditionalProductInfo:
type: string
pattern: ^.+$
description: 'Additional information related to the line item.
If data sent, POI has to store it and send it if the host protocol allows
it.'
required:
- ItemID
- ProductCode
- ItemAmount
LoyaltyAmount:
type: object
description: 'Amount of a loyalty account.
An awarded amount or an amount to redeem to the loyalty account might be sent
in the Payment request message.'
properties:
LoyaltyUnit:
$ref: '#/components/schemas/LoyaltyUnit'
description: 'Unit of a loyalty amount. The amount could be expressed in
point or in a monetary value and a currency.
Possible values:
* **Monetary**
* **Point**'
Currency:
type: string
pattern: ^[A-Z]{3,3}$
description: Currency of a monetary amount.
AmountValue:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Value of an amount.
required:
- AmountValue
LoyaltyAccountID:
type: object
description: 'Identification of a Loyalty account.
In the Payment or the Loyalty Request message, it allows to identify the loyalty
account by the Sale Terminal instead of the POI Terminal (e.g. because the
account identification is a bar-code read by the Cashier on a scanner device).'
properties:
EntryMode:
$ref: '#/components/schemas/EntryMode'
description: 'Entry mode of the payment instrument information. In the Payment,
Loyalty or StoredValue Request messages, it informs the POI System the
entry mode of the payment instrument information when read by the Sale
Terminal. In the Payment, Loyalty or StoredValue Response messages, it
informs the Sale System the entry mode of the payment instrument.
Possible values:
* **Contactless**
* **File**
* **ICC**
* **Keyed**
* **MagStripe**
* **Manual**
* **Mobile**
* **RFID**
* **Scanned**
* **SynchronousICC**
* **Tapped**'
IdentificationType:
$ref: '#/components/schemas/IdentificationType'
description: 'Type of account identification. In a request message, it informs
the POI System the type of the account or card identification, when provided
by the Sale Terminal. (e.g. because the card information is a barcode
read by the Cashier on a scanner device). In a response message, it informs
the Sale System the type of the account or card identification.
Possible values:
* **AccountNumber**
* **BarCode**
* **ISOTrack2**
* **PAN**
* **PhoneNumber**'
IdentificationSupport:
$ref: '#/components/schemas/IdentificationSupport'
description: 'Support of the loyalty account identification. Allows knowing
where and how you have found the loyalty account identification.
Possible values:
* **HybridCard**
* **LinkedCard**
* **LoyaltyCard**
* **NoCard**'
LoyaltyID:
type: string
description: Loyalty account identification conforming to the IdentificationType.
required:
- EntryMode
- IdentificationType
- LoyaltyID
LoyaltyData:
type: object
description: 'In the Payment, Loyalty or Balance Inquiry Request message, it
allows the Sale Terminal to send the identification of the loyalty account
or an awarded amount or an amount to redeem to the loyalty account.
Data related to a Loyalty program or account.'
properties:
CardAcquisitionReference:
$ref: '#/components/schemas/TransactionIDType'
description: 'Reference to the last CardAcquisition, to use the same card.
If the loyalty account ID comes from a previous CardAcquisition.'
LoyaltyAccountID:
$ref: '#/components/schemas/LoyaltyAccountID'
description: 'Identification of a Loyalty account.
If loyalty identification of the loyalty account is realised by the Sale
System.'
LoyaltyAmount:
$ref: '#/components/schemas/LoyaltyAmount'
description: 'Amount of a loyalty account.
When the Sale System want to award the Loyalty account (not for BalanceInquiryRequest).'
CheckData:
type: object
description: 'Information related to the paper check used for the transaction.
Allows the check information to be provided by the Sale System before requesting
the payment, or stored by the Sale System after processing of the payment.'
properties:
BankID:
type: string
pattern: ^.+$
description: 'Identification of the bank.
Mandatory if TrackData absent.'
AccountNumber:
type: string
pattern: ^.+$
description: 'Identification of the customer account.
Mandatory if TrackData absent.'
CheckNumber:
type: string
pattern: ^.+$
description: 'Identification of the bank check.
Mandatory if TrackData absent.'
TrackData:
$ref: '#/components/schemas/TrackData'
description: 'Magnetic track or magnetic ink characters line.
Mandatory if CheckNumber absent.'
CheckCardNumber:
type: string
pattern: ^.+$
description: 'Check guarantee card number.
If provided by the customer.'
TypeCode:
$ref: '#/components/schemas/TypeCode'
description: 'Type of bank check.
Possible values:
* **Company**
* **Personal**'
Country:
type: string
pattern: ^[A-Z]{3,3}$
description: 'Country of the bank check.
Absent if country of the Sale system.'
SensitiveMobileData:
type: object
properties:
MSISDN:
type: integer
description: Mobile Subscriber Integrated Service Digital Network (i.e.
mobile phone number of the SIM card). Country, National Destination Code,
and Subscriber Number.
IMSI:
type: integer
description: International Mobile Subscriber Identity. Unique number associated
with the mobile phone user, containing the Mobile Country Code (MCC),
the Mobile Network Code (MNC), and the Mobile Identification Number (MSIN)
IMEI:
type: integer
description: International Mobile Equipment Identity. Unique number associated
with the mobile phone device.
required:
- MSISDN
UTMCoordinates:
type: object
properties:
UTMZone:
type: string
pattern: ^.+$
description: UTM grid zone combination of the longitude zone (1 to 60) and
the latitude band (C to X, excluding I and O).
UTMEastward:
type: string
pattern: ^.+$
description: X-coordinate of the Universal Transverse Mercator coordinate
system.
UTMNorthward:
type: string
pattern: ^.+$
description: Y-coordinate of the Universal Transverse Mercator coordinate
system.
required:
- UTMZone
- UTMEastward
- UTMNorthward
GeographicCoordinates:
type: object
properties:
Latitude:
type: string
pattern: ^.+$
description: Angular distance of a location on the earth south or north
of the equator.
Longitude:
type: string
pattern: ^.+$
description: Angular measurement of the distance of a location on the earth
east or west of the Greenwich observatory.
required:
- Latitude
- Longitude
Geolocation:
type: object
properties:
GeographicCoordinates:
$ref: '#/components/schemas/GeographicCoordinates'
UTMCoordinates:
$ref: '#/components/schemas/UTMCoordinates'
MobileData:
type: object
description: 'Mobile phone is used as a payment instrument for the transaction.
Information related to the mobile for the payment transaction.'
properties:
MobileCountryCode:
type: integer
minimum: 3
maximum: 3
description: 'Identifies the country of a mobile phone operator.
If data available.'
MobileNetworkCode:
type: integer
minimum: 2
maximum: 3
description: 'Identifies the mobile phone operator inside a country.
If data available.'
MaskedMSISDN:
type: integer
description: 'Masked Mobile Subscriber Integrated Service Digital Network.
If data available.'
Geolocation:
$ref: '#/components/schemas/Geolocation'
description: 'Geographic location specified by geographic or UTM coordinates.
If data available.'
ProtectedMobileData:
type: string
description: 'Sensitive information related to the mobile phone, protected
by CMS.
SensitiveMobileData.'
SensitiveMobileData:
$ref: '#/components/schemas/SensitiveMobileData'
description: 'Sensitive information related to the mobile phone.
If unprotected mobile data.'
Instalment:
type: object
properties:
InstalmentType:
$ref: '#/components/schemas/InstalmentType'
description: 'Type of instalment transaction. For requesting an instalment
payment transaction.
Possible values:
* **DeferredInstalments**
* **EqualInstalments**
* **InequalInstalments**'
SequenceNumber:
type: integer
description: Sequence number of the instalment. For an instalment payment
transaction, number of the payment, from 1 to TotalNbOfPayments.
PlanID:
type: string
pattern: ^.+$
description: Identification of an instalment plan.
Period:
type: integer
description: Period of time with defined unit of time. A period between
2 payment instalments.
PeriodUnit:
$ref: '#/components/schemas/PeriodUnit'
description: 'Type of instalment transaction.
Possible values:
* **Annual**
* **Daily**
* **Monthly**
* **Weekly**'
FirstPaymentDate:
type: string
format: date
description: First date of a payment. For instalment, the date of the first
payments, if not immediate.
TotalNbOfPayments:
type: integer
description: Total number of payments. For instalment, the number of payments,
including the first one.
CumulativeAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Sum of a collection of amounts. Total amount of the payment
instalments.
FirstAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: First amount of the payment instalments.
Charges:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Charges related to a transaction. Charge related to the payment
instalments.
StoredValueAccountID:
type: object
description: Identification of the stored value account or the stored value
card and the associated product sold by the Sale System for stored value requests.
properties:
StoredValueAccountType:
$ref: '#/components/schemas/StoredValueAccountType'
description: 'Type of stored value account. Allows the distinction of the
stored value instrument to access the stored value account.
Possible values:
* **GiftCard**
* **Other**
* **PhoneCard**'
StoredValueProvider:
type: string
pattern: ^.+$
description: Identification of the provider of the stored value account
load/reload. When the ProductCode is not sufficient to identify the provider
host which delivers the load or reload of the stored value account (for
example if it contains the identification of the application.)
OwnerName:
type: string
pattern: ^.+$
description: Name of the owner of a stored value account.
ExpiryDate:
type: integer
minimum: 4
maximum: 4
description: Date after which the card cannot be used. If EMV expiry date
is present, it overrides Track2 information. Format is MMYY.
EntryMode:
$ref: '#/components/schemas/EntryMode'
description: 'Entry mode of the payment instrument information. In the Payment,
Loyalty, or StoredValue Request messages, it informs the POI System the
entry mode of the payment instrument information when read by the Sale
Terminal. (e.g. because the payment instrument information are a barcode
read by the Cashier on a scanner device).
Possible values:
* **Contactless**
* **File**
* **ICC**
* **Keyed**
* **MagStripe**
* **Manual**
* **Mobile**
* **RFID**
* **Scanned**
* **SynchronousICC**
* **Tapped**'
IdentificationType:
$ref: '#/components/schemas/IdentificationType'
description: 'Type of account identification. In a request message, it informs
the POI System the type of the account or card identification, when provided
by the Sale Terminal. (e.g. because the card information is a barcode
read by the Cashier on a scanner device). In a response message, it informs
the Sale System the type of the account or card identification.
Possible values:
* **AccountNumber**
* **BarCode**
* **ISOTrack2**
* **PAN**
* **PhoneNumber**'
StoredValueID:
type: string
pattern: ^.+$
description: Stored value account identification. The identification of
the stored value account conforming to the IdentificationType.
required:
- StoredValueAccountType
- EntryMode
- IdentificationType
- StoredValueID
PaymentInstrumentData:
type: object
description: 'Data related to the instrument of payment for the transaction.
Sent in the result of the payment transaction. For a card, it could also be
sent in the `CardAcquisition` response, to be processed by the Sale System.'
properties:
PaymentInstrumentType:
$ref: '#/components/schemas/PaymentInstrumentType'
description: 'Type of payment instrument.
Possible values:
* **Card**
* **Cash**
* **Check**
* **Mobile**
* **StoredValue**'
ProtectedCardData:
type: string
description: 'Sensitive information related to the payment card, protected
by CMS.
SensitiveCardData protected by CMS EnvelopedData.'
CardData:
$ref: '#/components/schemas/CardData'
description: 'Information related to the payment card used for the transaction.
If PaymentInstrumentType is Card.'
CheckData:
$ref: '#/components/schemas/CheckData'
description: 'Information related to the paper check used for the transaction.
If PaymentInstrumentType is Check.'
MobileData:
$ref: '#/components/schemas/MobileData'
description: 'Information related to the mobile for the payment transaction.
If PaymentInstrumentType is Mobile.'
StoredValueAccountID:
$ref: '#/components/schemas/StoredValueAccountID'
required:
- PaymentInstrumentType
OriginalPOITransaction:
type: object
description: 'Identification of a previous POI transaction.
In the Payment or the Loyalty Request message, it allows using the card of
a previous CardAcquisition or Payment/Loyalty request.'
properties:
SaleID:
type: string
pattern: ^.+$
description: Identification of a Sale System for the NEXO SaletoPOI protocol.
POIID:
type: string
pattern: ^.+$
description: 'Identification of a payment terminal for the NEXO SaletoPOI
protocol.
If original transaction is coming from another POI.'
POITransactionID:
$ref: '#/components/schemas/TransactionIDType'
description: 'Unique identification of a POI transaction for a POI.
Absent if SaleReferenceID is sufficient to identify the transaction.'
ReuseCardDataFlag:
type: boolean
default: true
description: Indicates if the card data has to be retrieved from a previous
transaction.
ApprovalCode:
type: string
pattern: ^.+$
description: 'Code assigned to a transaction approval by the Acquirer.
If referral.'
AcquirerID:
type: integer
description: 'Identification of the Acquirer.
Restrict to the Acquirer if present.'
AmountValue:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Value of an amount.
HostTransactionID:
$ref: '#/components/schemas/TransactionIDType'
description: 'Identification of the transaction by the host in charge of
the stored value transaction.
If POITransactionID not present.'
TransactionConditions:
type: object
description: Conditions on which the transaction must be processed.
properties:
AllowedPaymentBrand:
type: array
items:
type: string
pattern: ^.+$
description: 'Payment brands accepted for this transaction.
Card payment brands allowed by the Sale System for the payment transaction.
Restrict brand if data sent.'
description: 'Payment brands accepted for this transaction.
Card payment brands allowed by the Sale System for the payment transaction.
Restrict brand if data sent.'
AcquirerID:
type: array
items:
type: integer
description: 'Identification of the Acquirer.
Restrict to these Acquirer if present.'
description: 'Identification of the Acquirer.
Restrict to these Acquirer if present.'
DebitPreferredFlag:
type: boolean
description: The preferred type of payment is a debit transaction rather
than a credit transaction.
AllowedLoyaltyBrand:
type: array
items:
type: string
pattern: ^.+$
description: 'Loyalty brands or programs allowed by the Sale System for
the loyalty transaction.
Restrict brand if data sent.'
description: 'Loyalty brands or programs allowed by the Sale System for
the loyalty transaction.
Restrict brand if data sent.'
LoyaltyHandling:
$ref: '#/components/schemas/LoyaltyHandling'
description: 'Type of Loyalty processing requested by the Sale System.
Possible values:
* **Allowed**
* **Forbidden**
* **Processed**
* **Proposed**
* **Required**'
ForceOnlineFlag:
type: boolean
default: false
description: 'Indicates if the Cashier requires POI forces online access
to the Acquirer.
Go online if data sent.'
ForceEntryMode:
$ref: '#/components/schemas/ForceEntryMode'
description: 'Payment instrument entry mode requested by the Sale System.
Restrict entry mode if sent.
Possible values:
* **CheckReader**
* **Contactless**
* **File**
* **ICC**
* **Keyed**
* **MagStripe**
* **Manual**
* **RFID**
* **Scanned**
* **SynchronousICC**
* **Tapped**'
MerchantCategoryCode:
type: string
pattern: ^.{3,4}$
description: 'The code which identifies the category of the transaction
(MCC).
The payment implies a specific MCC.'
PaymentData:
type: object
properties:
PaymentType:
$ref: '#/components/schemas/PaymentType'
description: 'Type of payment transaction. Elements requested by the Sale
System that are related to the payment only.
Possible values:
* **CashAdvance**
* **CashDeposit**
* **Completion**
* **FirstReservation**
* **Instalment**
* **IssuerInstalment**
* **Normal**
* **OneTimeReservation**
* **PaidOut**
* **Recurring**
* **Refund**
* **UpdateReservation**'
SplitPaymentFlag:
type: boolean
default: false
description: Indicates if the payment of the Sale transaction is split.
Allows the POI to decline payment means that cannot accept split payment.
RequestedValidityDate:
type: string
format: date
description: Requested validity date for the reservation. Allows a specific
period for the reservation according to the need of the Merchant for the
first reservation and the reservation updates as well.
CardAcquisitionReference:
$ref: '#/components/schemas/TransactionIDType'
Instalment:
$ref: '#/components/schemas/Instalment'
description: Information related an instalment transaction. To request an
instalment to the issuer, or to make individual instalments of a payment
transaction.
CustomerOrder:
$ref: '#/components/schemas/CustomerOrder'
PaymentInstrumentData:
$ref: '#/components/schemas/PaymentInstrumentData'
AmountsReq:
type: object
description: Various amounts related to the payment and loyalty request from
the Sale System.
properties:
Currency:
type: string
pattern: ^[A-Z]{3,3}$
description: Currency of a monetary amount.
RequestedAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Amount requested by the Sale for the payment.
CashBackAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: The cash-back part of the amount requested by the Sale for
the payment.
TipAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Amount paid for a tip. Allow the printing of the tip on the
receipt, and to qualify the tip part of the amount.
PaidAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: "Amount already paid in case of split payment. Depending on\
\ the context, a split payment is either a split amount, or a split basket\
\ (required by some payment means as fleet cards). The PaidAmount is present\
\ when the split payment is a split\n of the amount. Split of the\
\ basket involves two Sale Transactions, and does not have to be recognised\
\ by\n the POI."
MinimumAmountToDeliver:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Minimum amount the Sale System is allowed to deliver for this
payment. For the OneTimeReservation, when the maximum amount is unknown,
the Sale System indicates the minimum amount it allows.
MaximumCashBackAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: "Maximum amount which could be requested for cash-back to the\
\ Sale System. Allows the Cashier\n to limit the amount value of cash-back\
\ to deliver to the Customer."
MinimumSplitAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Minimum amount of a split, which could be requested by a Customer.Allows
the Merchant to limit the number of split requested by the Customer.
required:
- Currency
- RequestedAmount
PaymentTransaction:
type: object
properties:
AmountsReq:
$ref: '#/components/schemas/AmountsReq'
description: Various amounts related to the payment and loyalty request
from the Sale System.
OriginalPOITransaction:
$ref: '#/components/schemas/OriginalPOITransaction'
TransactionConditions:
$ref: '#/components/schemas/TransactionConditions'
SaleItem:
type: array
items:
$ref: '#/components/schemas/SaleItem'
description: Sale items of a transaction. In loyalty or value added payment
card transaction, the items of the sale that are processed in the transaction.
required:
- AmountsReq
ConvertedAmount:
type: object
properties:
AmountValue:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Value of an amount.
Currency:
type: string
pattern: ^[A-Z]{3,3}$
description: Currency of a monetary amount.
required:
- AmountValue
- Currency
CurrencyConversion:
type: object
description: 'Information related to a currency conversion.
A currency conversion occurred in the payment, and the merchant needs to know
information related to this conversion (e.g. to print on the sale receipt).'
properties:
CustomerApprovedFlag:
type: boolean
default: true
description: Notify if the customer has approved something. Indicates if
the customer has accepted a currency conversion.
ConvertedAmount:
$ref: '#/components/schemas/ConvertedAmount'
description: Amount after a currency conversion.
Rate:
type: string
description: Rate of currency conversion.
Markup:
type: string
description: Markup of a currency conversion amount as a percentage.
Commission:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Commission for a currency conversion.
Declaration:
type: string
pattern: ^.+$
description: 'Declaration to present to the customer or the cashier for
validation.
If a declaration has to be presented to the customer.'
required:
- ConvertedAmount
Point:
type: object
properties:
X:
type: string
description: The hexadecimal value of the coordinates of a point on the
abscissa.
Y:
type: string
description: The hexadecimal value of the coordinates of a point on the
ordinate.
required:
- X
- Y
SaleItemRebate:
type: object
description: 'To be differentiated from the award which is the amount or quantity
earned on the loyalty account.
The awarded amount that is attached to an item as a rebate.'
properties:
ItemID:
type: integer
description: Item identification inside a transaction (0 to n).
ProductCode:
type: integer
minimum: 1
maximum: 20
description: Product code of item purchased with the transaction.
EanUpc:
type: integer
description: Standard product code of item purchased with the transaction.
UnitOfMeasure:
$ref: '#/components/schemas/UnitOfMeasure'
description: 'Unit of measure of a quantity.
If Quantity present.
Possible values:
* **Case**
* **Centilitre**
* **Centimetre**
* **Foot**
* **Gram**
* **Inch**
* **Kilogram**
* **Kilometre**
* **Litre**
* **Meter**
* **Mile**
* **Other**
* **Ounce**
* **Pint**
* **Pound**
* **Quart**
* **UKGallon**
* **USGallon**
* **Yard**'
Quantity:
type: string
description: 'Product quantity.
If rebate is additional units.'
ItemAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: 'Total amount of the item line.
If rebate on the line item amount.'
RebateLabel:
type: string
pattern: ^.+$
description: 'Short text to qualify a rebate on an line item.
If provided by the Acquirer.'
required:
- ItemID
- ProductCode
LoyaltyAccount:
type: object
description: 'This data structure conveys the identification of the account
and the associated loyalty brand.
Data related to a loyalty account processed in the transaction.'
properties:
LoyaltyAccountID:
$ref: '#/components/schemas/LoyaltyAccountID'
description: Identification of a Loyalty account.
LoyaltyBrand:
type: string
pattern: ^.+$
description: 'Identification of a Loyalty brand.
If a card is analysed.'
required:
- LoyaltyAccountID
LoyaltyAcquirerData:
type: object
properties:
LoyaltyAcquirerID:
type: string
pattern: ^.+$
description: Identification of the loyalty Acquirer.
ApprovalCode:
type: string
pattern: ^.+$
description: Code assigned to a transaction approval by the Acquirer. Could
be an identifier of the approved transaction for the Acquirer. This data
element is conditional for the Loyalty Acquirers. Used in the PaymentRequest
request for a referral.
LoyaltyTransactionID:
$ref: '#/components/schemas/TransactionIDType'
HostReconciliationID:
type: string
pattern: ^.+$
description: Identifier of a reconciliation period with a payment or loyalty
host. Allows the assignment of a transaction to the Acquirer reconciliation
(or batch).
Rebates:
type: object
properties:
TotalRebate:
type: number
maximum: 99999999.999999
minimum: 0.0
description: The global awarded amount that is not attached to an item.
RebateLabel:
type: string
pattern: ^.+$
description: Short text to qualify a rebate on an line item. Text to be
printed on a receipt in front of the rebate on an item or the rebate on
the totals.
SaleItemRebate:
type: array
items:
$ref: '#/components/schemas/SaleItemRebate'
description: The awarded amount that is attached to an item as a rebate.
To be differentiated from the award which is the amount or quantity earned
on the loyalty account.
LoyaltyResult:
type: object
description: 'Data related to the result of a processed loyalty transaction.
In the Message Response, the result of each loyalty brand transaction.'
properties:
LoyaltyAccount:
$ref: '#/components/schemas/LoyaltyAccount'
description: Data related to a loyalty account processed in the transaction.
CurrentBalance:
type: number
maximum: 99999999.999999
minimum: 0.0
description: 'Balance of an account.
If known (provided by the card or an external host).'
LoyaltyAmount:
$ref: '#/components/schemas/LoyaltyAmount'
description: 'Amount of a loyalty account.
If awarded amount.'
LoyaltyAcquirerData:
$ref: '#/components/schemas/LoyaltyAcquirerData'
description: 'Data related to the loyalty Acquirer during a loyalty transaction.
If content not empty.'
Rebates:
$ref: '#/components/schemas/Rebates'
description: 'Rebate form to an award.
If rebates awarded.'
required:
- LoyaltyAccount
PaymentReceipt:
type: object
description: 'Customer or Merchant payment receipt.
If the payment receipts are printed by the Sale system and the POI or the
Sale does not implement the Print exchange (Basic profile).'
properties:
DocumentQualifier:
$ref: '#/components/schemas/DocumentQualifier'
description: 'Qualification of the document to print to the Cashier or the
Customer.
SaleReceipt or CashierReceipt.
Possible values:
* **CashierReceipt**
* **CustomerReceipt**
* **Document**
* **Journal**
* **SaleReceipt**
* **Voucher**'
IntegratedPrintFlag:
type: boolean
description: Type of the print integrated to other prints.
RequiredSignatureFlag:
type: boolean
default: false
description: Indicate that the cardholder payment receipt requires a physical
signature by the Customer.
OutputContent:
$ref: '#/components/schemas/OutputContent'
description: Content to display or print.
required:
- DocumentQualifier
- OutputContent
PaymentAcquirerData:
type: object
description: Data related to the response from the payment Acquirer.
properties:
AcquirerID:
type: integer
description: 'Identification of the Acquirer.
Identification of the Acquirer when the POI System is multi-acquirer.'
MerchantID:
type: string
pattern: ^.+$
description: Identification of the Merchant for the Acquirer.
AcquirerPOIID:
type: string
pattern: ^.+$
description: Identification of the POI for the payment Acquirer.
AcquirerTransactionID:
$ref: '#/components/schemas/TransactionIDType'
description: 'Identification of the Transaction for the Acquirer.
If provided by the Acquirer.'
ApprovalCode:
type: string
pattern: ^.+$
description: 'Code assigned to a transaction approval by the Acquirer.
If available.'
HostReconciliationID:
type: string
pattern: ^.+$
description: Identifier of a reconciliation period with a payment or loyalty
host. Allows the assignment of a transaction to the Acquirer reconciliation
(or batch).
required:
- MerchantID
- AcquirerPOIID
AreaSize:
type: object
properties:
X:
type: string
description: Abscissa of a point coordinates. The hexadecimal value in text
of the abscissa of the coordinates of a point. Leading zero can be removed
(e.g. 3BC, 0, and 1287).
Y:
type: string
description: Ordinate of a point coordinates. The hexadecimal value in text
of the ordinate of the coordinates of a point. Leading zero can be removed
(e.g. 3BC, 0, and 1287).
required:
- X
- Y
CapturedSignature:
type: object
properties:
AreaSize:
$ref: '#/components/schemas/AreaSize'
description: Size of an area. Contain the size of the pad area where the
signature is written, given with the maximum abscissa and ordinate values
(X and Y). The maximum value is FFFF.
SignaturePoint:
type: array
items:
$ref: '#/components/schemas/Point'
description: Coordinates of a point where the pen changes direction or lift.
Contain the Coordinates of a point of the written signature where the
pen changes direction or lift where (X and Y). When the signer lifts the
pen, both X and Y have the value FFFF.
AmountsResp:
type: object
properties:
Currency:
type: string
pattern: ^[A-Z]{3,3}$
description: Currency of a monetary amount.
AuthorizedAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Amount requested by the Sale for the payment.
TotalRebatesAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Sum of rebates in amount (total amount or line item amount)
for all the loyalty programs.
TotalFeesAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Total amount of financial fees.
CashBackAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: The cash-back part of the amount requested by the Sale for
the payment.
TipAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Amount paid for a tip. Allow the printing of the tip on the
receipt, and to qualify the tip part of the amount.
required:
- AuthorizedAmount
PaymentResult:
type: object
properties:
PaymentType:
$ref: '#/components/schemas/PaymentType'
description: 'Type of payment transaction. Elements requested by the Sale
System that are related to the payment only.
Possible values:
* **CashAdvance**
* **CashDeposit**
* **Completion**
* **FirstReservation**
* **Instalment**
* **IssuerInstalment**
* **Normal**
* **OneTimeReservation**
* **PaidOut**
* **Recurring**
* **Refund**
* **UpdateReservation**'
PaymentInstrumentData:
$ref: '#/components/schemas/PaymentInstrumentData'
AmountsResp:
$ref: '#/components/schemas/AmountsResp'
description: "Various amounts related to the payment response from the POI\
\ System. Amounts approved by the POI and the Acquirer for the payment\
\ and loyalty transaction, containing:\n * The authorised amount to be\
\ paid.\n * The amount of the rebates.\n * The amount of financial fees.\n\
\ * The cash back part of the requested amount for a payment with cash\
\ back.\n * The tip part of the requested amount for a payment with tip."
Instalment:
$ref: '#/components/schemas/Instalment'
description: Information related an instalment transaction. To request an
instalment to the issuer, or to make individual instalments of a payment
transaction.
CurrencyConversion:
type: array
items:
$ref: '#/components/schemas/CurrencyConversion'
description: Information related to a currency conversion. A currency conversion
occurred in the payment, and the merchant needs to know information related
to this conversion (e.g. to print on the sale receipt).
MerchantOverrideFlag:
type: boolean
default: false
description: Indicates that the Merchant forced the result of the payment
to successful. Allows the Sale System to be sure that the payment has
been forced.
CapturedSignature:
$ref: '#/components/schemas/CapturedSignature'
description: "Numeric value of a handwritten signature. Contains the value\
\ of a handwritten signature, e.g. the signature of a cardholder on the\
\ merchant payment receipt. Only one format of the signature is allowed:\n\
\ * The size of the pad area where the signature is written, given with\
\ the maximum abscissa and ordinate values.\n * The sequence of coordinates\
\ where the pen changes direction or lift."
ProtectedSignature:
type: string
description: Numeric value of a handwritten signature. Contains the value
of a handwritten signature, e.g. the signature of a cardholder on the
merchant payment receipt. The format before encryption is the encoded
data structure CapturedSignature. The data structure before encryption
includes the start and end tags for an XML encoding, the identifier and
length bytes for an ASN.1 encoding, and the complete member ProtectedSignature
for a JSON encoding.
OnlineFlag:
type: boolean
default: true
description: Indicate that the payment transaction processing has required
the approval of a host. Allows the Sale System to know if the payment
was online or offline.
AuthenticationMethod:
$ref: '#/components/schemas/AuthenticationMethod'
description: 'Method for customer authentication. Allows the Sale System
informed about customer authentication for the payment transaction.
Possible values:
* **Bypass**
* **ManualVerification**
* **MerchantAuthentication**
* **OfflinePIN**
* **OnlinePIN**
* **PaperSignature**
* **SecureCertificate**
* **SecureNoCertificate**
* **SecuredChannel**
* **SignatureCapture**
* **UnknownMethod**'
ValidityDate:
type: string
format: date
description: End of the validity period for the reservation, for the first
reservation, and the reservation updates as well.
PaymentAcquirerData:
$ref: '#/components/schemas/PaymentAcquirerData'
CardAcquisitionTransaction:
type: object
properties:
AllowedPaymentBrand:
type: array
items:
type: string
pattern: ^.+$
description: Card payment brands allowed by the Sale System for the payment
transaction.
description: Card payment brands allowed by the Sale System for the payment
transaction.
AllowedLoyaltyBrand:
type: array
items:
type: string
pattern: ^.+$
description: Loyalty brands or programs allowed by the Sale System for
the loyalty transaction.
description: Loyalty brands or programs allowed by the Sale System for the
loyalty transaction.
LoyaltyHandling:
$ref: '#/components/schemas/LoyaltyHandling'
description: 'Type of Loyalty processing requested by the Sale System. An
way to specify what the POI has to handle concerning the loyalty.
Possible values:
* **Allowed**
* **Forbidden**
* **Processed**
* **Proposed**
* **Required**'
ForceEntryMode:
$ref: '#/components/schemas/ForceEntryMode'
description: 'Payment instrument entry mode requested by the Sale System.
Avoid retry on an out of order card reading device, when the sale system
knows that some card entry modes on the POI do not work.
Possible values:
* **CheckReader**
* **Contactless**
* **File**
* **ICC**
* **Keyed**
* **MagStripe**
* **Manual**
* **RFID**
* **Scanned**
* **SynchronousICC**
* **Tapped**'
ForceCustomerSelectionFlag:
type: boolean
description: Indicates if the Customer realises the selection of the card
application.
TotalAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Amount of a transaction. In the Card Acquisition Request message,
it allows the processing of a contactless card.
PaymentType:
$ref: '#/components/schemas/PaymentType'
description: 'Type of payment transaction. Elements requested by the Sale
System that are related to the payment only.
Possible values:
* **CashAdvance**
* **CashDeposit**
* **Completion**
* **FirstReservation**
* **Instalment**
* **IssuerInstalment**
* **Normal**
* **OneTimeReservation**
* **PaidOut**
* **Recurring**
* **Refund**
* **UpdateReservation**'
CashBackFlag:
type: boolean
description: Cash back has been requested with the payment transaction.
Allows choice of the Customer language when the POI displays messages
or print text to Merchant interface.
LoyaltyTransaction:
type: object
properties:
LoyaltyTransactionType:
$ref: '#/components/schemas/LoyaltyTransactionType'
description: "Type of loyalty transaction. These types of loyalty transactions\
\ use the same message requests:\n * **Award**: direct or payment-related\
\ award on a loyalty account.\n * **Rebate**: rebate on a total amount,\
\ sale item amount, or sale items.\n * **Redemption**: redemption on\
\ a loyalty account.\n * **AwardRefund**: refund of a loyalty award transaction.\n\
\ * **RebateRefund**: refund of a loyalty rebate transaction.\n * **RedemptionRefund**:\
\ refund of a loyalty redemption transaction.\nPossible values:\n* **Award**\n\
* **AwardRefund**\n* **Rebate**\n* **RebateRefund**\n* **Redemption**\n\
* **RedemptionRefund**"
Currency:
type: string
pattern: ^[A-Z]{3,3}$
description: Currency of a monetary amount.
TotalAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: "Amount of a transaction. In the Loyalty Request message, it\
\ notifies the amount of the payment transaction on which the loyalty\
\ transaction has to be processed.\n In the Card Acquisition Request\
\ message, it allows the processing of a contactless card."
OriginalPOITransaction:
$ref: '#/components/schemas/OriginalPOITransaction'
TransactionConditions:
$ref: '#/components/schemas/TransactionConditions'
SaleItem:
type: array
items:
$ref: '#/components/schemas/SaleItem'
description: "In loyalty or value added payment card transaction, Sale items\
\ included in a transaction.\n The sum of the item amount could be more\
\ than the Requested amount in case of split payment without split of\
\ the items (split basket).\n In the StoredValue request message, sale\
\ items differentiate the Stored Value product with the EanUpc data element\
\ which has to be present."
required:
- LoyaltyTransactionType
StoredValueData:
type: object
description: 'It contains: - the identification of the stored value accounts
or the stored value cards, if provided by the Sale System, and - the associated
products sold by the Sale System.
Data related to the stored value card.'
properties:
StoredValueProvider:
type: string
pattern: ^.+$
description: 'Identification of the provider of the stored value account
load/reload.
If more than one provider to manage on the POI, and StoredValueAccountID
absent.'
StoredValueTransactionType:
$ref: '#/components/schemas/StoredValueTransactionType'
description: 'Identification of operation to proceed on the stored value
account or the stored value card.
Possible values:
* **Activate**
* **Duplicate**
* **Load**
* **Reserve**
* **Reverse**
* **Unload**'
StoredValueAccountID:
$ref: '#/components/schemas/StoredValueAccountID'
description: 'Identification of the stored value account or the stored value
card.
If the identification of the Stored Value account or card has been made
by the Sale System before the request.'
OriginalPOITransaction:
$ref: '#/components/schemas/OriginalPOITransaction'
description: 'Identification of a previous POI transaction.
If StoredValueTransactionType is Reverse or Duplicate.'
ProductCode:
type: integer
minimum: 1
maximum: 20
description: Product code of item purchased with the transaction.
EanUpc:
type: integer
description: Standard product code of item purchased with the transaction.
ItemAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Total amount of the item line.
Currency:
type: string
pattern: ^[A-Z]{3,3}$
description: Currency of a monetary amount.
required:
- StoredValueTransactionType
StoredValueAccountStatus:
type: object
properties:
StoredValueAccountID:
$ref: '#/components/schemas/StoredValueAccountID'
CurrentBalance:
type: number
maximum: 99999999.999999
minimum: 0.0
description: If relevant and known.
required:
- StoredValueAccountID
StoredValueResult:
type: object
description: 'For each stored value card loaded or reloaded, in the StoredValue
response message.
Result of loading/reloading a stored value card.'
properties:
StoredValueTransactionType:
$ref: '#/components/schemas/StoredValueTransactionType'
description: 'Identification of operation to proceed on the stored value
account or the stored value card.
Copy.
Possible values:
* **Activate**
* **Duplicate**
* **Load**
* **Reserve**
* **Reverse**
* **Unload**'
ProductCode:
type: integer
minimum: 1
maximum: 20
description: 'Product code of item purchased with the transaction.
Copy.'
EanUpc:
type: integer
description: 'Standard product code of item purchased with the transaction.
Copy.'
ItemAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Total amount of the item line.
Currency:
type: string
pattern: ^[A-Z]{3,3}$
description: 'Currency of a monetary amount.
Copy.'
StoredValueAccountStatus:
$ref: '#/components/schemas/StoredValueAccountStatus'
description: Data related to the result of the stored value card transaction.
HostTransactionID:
$ref: '#/components/schemas/TransactionIDType'
description: 'Identification of the transaction by the host in charge of
the stored value transaction.
If provided by the Host.'
required:
- StoredValueTransactionType
PerformedTransaction:
type: object
properties:
Response:
$ref: '#/components/schemas/Response'
SaleData:
$ref: '#/components/schemas/SaleData'
POIData:
$ref: '#/components/schemas/POIData'
PaymentResult:
$ref: '#/components/schemas/PaymentResult'
LoyaltyResult:
type: array
items:
$ref: '#/components/schemas/LoyaltyResult'
ReversedAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
required:
- Response
PaymentTotals:
type: object
description: Totals of the payment transaction during the reconciliation period.
properties:
TransactionType:
$ref: '#/components/schemas/TransactionType'
description: 'Type of transaction for which totals are grouped.
Debit, Credit, ReverseDebit, ReverseCredit, OneTimeReservation, CompletedDeffered,
FirstReservation, UpdateReservation, CompletedReservation, CashAdvance.
Possible values:
* **Award**
* **CashAdvance**
* **CompletedDeffered**
* **CompletedReservation**
* **Credit**
* **Debit**
* **Declined**
* **Failed**
* **FirstReservation**
* **IssuerInstalment**
* **OneTimeReservation**
* **Rebate**
* **Redemption**
* **ReverseAward**
* **ReverseCredit**
* **ReverseDebit**
* **ReverseRebate**
* **ReverseRedemption**
* **UpdateReservation**'
TransactionCount:
type: integer
description: Number of processed transaction during the period.
TransactionAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Sum of amount of processed transaction during the period.
required:
- TransactionType
- TransactionCount
- TransactionAmount
LoyaltyTotals:
type: object
description: Totals of the loyalty transaction during the reconciliation period.
properties:
TransactionType:
$ref: '#/components/schemas/TransactionType'
description: 'Type of transaction for which totals are grouped.
Award, ReverseAward, Redemption, ReverseRedemption, Rebate, ReverseRebate.
Possible values:
* **Award**
* **CashAdvance**
* **CompletedDeffered**
* **CompletedReservation**
* **Credit**
* **Debit**
* **Declined**
* **Failed**
* **FirstReservation**
* **IssuerInstalment**
* **OneTimeReservation**
* **Rebate**
* **Redemption**
* **ReverseAward**
* **ReverseCredit**
* **ReverseDebit**
* **ReverseRebate**
* **ReverseRedemption**
* **UpdateReservation**'
TransactionCount:
type: integer
description: Number of processed transaction during the period.
TransactionAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Sum of amount of processed transaction during the period.
required:
- TransactionType
- TransactionCount
- TransactionAmount
TransactionTotals:
type: object
description: 'If Result is Success, contains all the totals, classified as required
by the Sale in the message request. At least, transaction totals are provided
per Acquirer, Acquirer Settlement, and Card Brand.
Result of the Sale to POI Reconciliation processing.'
properties:
PaymentInstrumentType:
$ref: '#/components/schemas/PaymentInstrumentType'
description: 'Type of payment instrument.
Possible values:
* **Card**
* **Cash**
* **Check**
* **Mobile**
* **StoredValue**'
AcquirerID:
type: integer
description: Identification of the Acquirer.
HostReconciliationID:
type: string
pattern: ^.+$
description: Identifier of a reconciliation period with a payment or loyalty
host.
CardBrand:
type: string
pattern: ^.+$
description: 'Type of payment or loyalty card.
If configured to present totals per card brand, and Response.Result is
Success.'
POIID:
type: string
pattern: ^.+$
description: 'Identification of a POI System or a POI Terminal for the Sale
to POI protocol.
Sent if requested in the message request.'
SaleID:
type: string
pattern: ^.+$
description: 'Identification of a Sale System or a Sale Terminal for the
Sale to POI protocol.
Sent if requested in the message request.'
OperatorID:
type: string
pattern: ^.+$
description: 'Identification of the Cashier or Operator.
Sent if requested in the message request.'
ShiftNumber:
type: string
pattern: ^.+$
description: 'Shift number.
Sent if requested in the message request.'
TotalsGroupID:
type: string
pattern: ^.{1,16}$
description: 'Identification of a group of transaction on a POI Terminal,
having the same Sale features.
Sent if requested in the message request.'
PaymentCurrency:
type: string
pattern: ^[A-Z]{3,3}$
description: Currency of a monetary amount.
PaymentTotals:
type: array
items:
$ref: '#/components/schemas/PaymentTotals'
description: 'Totals of the payment transaction during the reconciliation
period.
If both `TransactionCount` and `TransactionAmount` are not equal to zero.'
LoyaltyUnit:
$ref: '#/components/schemas/LoyaltyUnit'
description: 'Unit of a loyalty amount.
Possible values:
* **Monetary**
* **Point**'
LoyaltyCurrency:
type: string
pattern: ^[A-Z]{3,3}$
description: 'Currency of a monetary amount.
Sent if `LoyaltyUnit` is Monetary.'
LoyaltyTotals:
type: array
items:
$ref: '#/components/schemas/LoyaltyTotals'
description: 'Totals of the loyalty transaction during the reconciliation
period.
If both `TransactionCount` and `TransactionAmount` are not equal to zero.'
required:
- PaymentInstrumentType
TotalFilter:
type: object
properties:
POIID:
type: string
pattern: ^.+$
description: Identification of a POI System or a POI Terminal for the Sale
to POI protocol.
SaleID:
type: string
pattern: ^.+$
description: Identification of a Sale System or a Sale Terminal for the
Sale to POI protocol.
OperatorID:
type: string
pattern: ^.+$
description: Identification of the Cashier or Operator.
ShiftNumber:
type: string
pattern: ^.+$
description: Shift number.
TotalsGroupID:
type: string
pattern: ^.{1,16}$
description: Sent if totals in the response have to be computed only for
this particular value of TotalsGroupID.
PaymentAccountReq:
type: object
properties:
AccountType:
$ref: '#/components/schemas/AccountType'
description: 'Type of cardholder account used for the transaction. Allows
a cardholder to select the type of account used for the transaction.
Possible values:
* **CardTotals**
* **Checking**
* **CreditCard**
* **Default**
* **EpurseCard**
* **Investment**
* **Savings**
* **Universal**'
CardAcquisitionReference:
$ref: '#/components/schemas/TransactionIDType'
PaymentInstrumentData:
$ref: '#/components/schemas/PaymentInstrumentData'
LoyaltyAccountReq:
type: object
properties:
CardAcquisitionReference:
$ref: '#/components/schemas/TransactionIDType'
LoyaltyAccountID:
$ref: '#/components/schemas/LoyaltyAccountID'
PaymentAccountStatus:
type: object
properties:
PaymentInstrumentData:
$ref: '#/components/schemas/PaymentInstrumentData'
CurrentBalance:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Balance of an account after processing of the transaction.
Currency:
type: string
pattern: ^[A-Z]{3,3}$
description: Currency of a monetary amount.
PaymentAcquirerData:
$ref: '#/components/schemas/PaymentAcquirerData'
LoyaltyAccountStatus:
type: object
properties:
LoyaltyAccount:
$ref: '#/components/schemas/LoyaltyAccount'
CurrentBalance:
type: number
maximum: 99999999.999999
minimum: 0.0
description: Balance of an account after processing of the transaction.
LoyaltyUnit:
$ref: '#/components/schemas/LoyaltyUnit'
description: 'Unit of a loyalty amount. The amount could be expressed in
point or in a monetary value and a currency.
Possible values:
* **Monetary**
* **Point**'
Currency:
type: string
pattern: ^[A-Z]{3,3}$
description: Currency of a monetary amount.
required:
- LoyaltyAccount
MessageReference:
type: object
description: 'Identification of a previous POI transaction.
To abort a transaction in progress or to request the status of a transaction
from which no response has been received. It identifies the message header
of the message request to abort or request the status.'
properties:
MessageCategory:
$ref: '#/components/schemas/MessageCategory'
description: 'Category of message.
CardAcquisition, Display, Input, Loyalty, Payment, Print, CardReaderAPDU,
CardReaderInit, CardReaderPowerOff.
Possible values:
* **Abort**
* **Admin**
* **BalanceInquiry**
* **Batch**
* **CardAcquisition**
* **CardReaderAPDU**
* **CardReaderInit**
* **CardReaderPowerOff**
* **Diagnosis**
* **Display**
* **EnableService**
* **Event**
* **GetTotals**
* **Input**
* **InputUpdate**
* **Login**
* **Logout**
* **Loyalty**
* **None**
* **PIN**
* **Payment**
* **Print**
* **Reconciliation**
* **Reversal**
* **Sound**
* **StoredValue**
* **TransactionStatus**
* **Transmit**'
ServiceID:
type: string
pattern: ^.{1,10}$
description: Identification of a message pair, which processes a transaction.
DeviceID:
type: string
pattern: ^.{1,10}$
description: Identification of a device message pair.
SaleID:
type: string
pattern: ^.+$
description: 'Identification of a Sale System or a Sale Terminal for the
Sale to POI protocol.
default MessageHeader.SaleID.'
POIID:
type: string
pattern: ^.+$
description: 'Identification of a POI System or a POI Terminal for the Sale
to POI protocol.
Default `MessageHeader.POIID`.'
MessageHeader:
type: object
description: 'Message header of the Sale to POI protocol message.
It conveys Information related to the Sale to POI protocol management.'
properties:
ProtocolVersion:
type: string
pattern: ^.+$
description: If MessageCategory is Login or Diagnosis.
MessageClass:
$ref: '#/components/schemas/MessageClass'
description: 'Class of the message.
Possible values:
* **Device**
* **Event**
* **Service**'
MessageCategory:
$ref: '#/components/schemas/MessageCategory'
description: 'Category of message.
Possible values:
* **Abort**
* **Admin**
* **BalanceInquiry**
* **Batch**
* **CardAcquisition**
* **CardReaderAPDU**
* **CardReaderInit**
* **CardReaderPowerOff**
* **Diagnosis**
* **Display**
* **EnableService**
* **Event**
* **GetTotals**
* **Input**
* **InputUpdate**
* **Login**
* **Logout**
* **Loyalty**
* **None**
* **PIN**
* **Payment**
* **Print**
* **Reconciliation**
* **Reversal**
* **Sound**
* **StoredValue**
* **TransactionStatus**
* **Transmit**'
MessageType:
$ref: '#/components/schemas/MessageType'
description: 'Type of message of the Sale to POI protocol.
Possible values:
* **Notification**
* **Request**
* **Response**'
ServiceID:
type: string
pattern: ^.{1,10}$
description: 'Identification of a message pair, which processes a transaction.
Required if Service or Event MessageClass message or if Device MessageClass
and request from POI or response from Sale.'
DeviceID:
type: string
pattern: ^.{1,10}$
description: 'Identification of a device message pair.
If Device MessageClass.'
SaleID:
type: string
pattern: ^.+$
description: Identification of a Sale System or a Sale Terminal for the
Sale to POI protocol.
POIID:
type: string
pattern: ^.+$
description: Identification of a POI System or a POI Terminal for the Sale
to POI protocol.
required:
- MessageClass
- MessageCategory
- MessageType
- SaleID
- POIID
RepeatedResponseMessageBody:
type: object
properties:
LoyaltyResponse:
$ref: '#/components/schemas/LoyaltyResponse'
PaymentResponse:
$ref: '#/components/schemas/PaymentResponse'
ReversalResponse:
$ref: '#/components/schemas/ReversalResponse'
StoredValueResponse:
$ref: '#/components/schemas/StoredValueResponse'
CardAcquisitionResponse:
$ref: '#/components/schemas/CardAcquisitionResponse'
CardReaderAPDUResponse:
$ref: '#/components/schemas/CardReaderAPDUResponse'
RepeatedMessageResponse:
type: object
properties:
MessageHeader:
$ref: '#/components/schemas/MessageHeader'
RepeatedResponseMessageBody:
$ref: '#/components/schemas/RepeatedResponseMessageBody'
required:
- MessageHeader
- RepeatedResponseMessageBody
HostStatus:
type: object
description: 'Indicate the reachability of the host by the POI Terminal.
State of a Host.'
properties:
AcquirerID:
type: integer
description: Identification of the Acquirer.
IsReachableFlag:
type: boolean
default: true
description: Indicate if a Host is reachable.
required:
- AcquirerID
OutputResult:
type: object
description: 'In the message response, it contains the result of the output,
if required in the message request.
Information related to the result the output (display, print, input).'
properties:
Device:
$ref: '#/components/schemas/Device'
description: 'Logical device located on a Sale Terminal or a POI Terminal,
in term of class of information to output (display, print or store), or
input (keyboard) for the Cashier or the Customer.
Copy.
Possible values:
* **CashierDisplay**
* **CashierInput**
* **CustomerDisplay**
* **CustomerInput**'
InfoQualify:
$ref: '#/components/schemas/InfoQualify'
description: 'Qualification of the information to sent to an output logical
device, to display or print to the Cashier or the Customer.
Copy.
Possible values:
* **CustomerAssistance**
* **Display**
* **Document**
* **Error**
* **Input**
* **POIReplication**
* **Receipt**
* **Sound**
* **Status**
* **Voucher**'
Response:
$ref: '#/components/schemas/Response'
description: Result of a message request processing.
required:
- Device
- InfoQualify
- Response
InputData:
type: object
properties:
Device:
$ref: '#/components/schemas/Device'
description: 'Logical device located on a Sale Terminal or a POI Terminal,
regarding the class of information to output (display, print or store),
or input (keyboard) for the Cashier or the Customer.
Possible values:
* **CashierDisplay**
* **CashierInput**
* **CustomerDisplay**
* **CustomerInput**'
InfoQualify:
$ref: '#/components/schemas/InfoQualify'
description: 'Qualification of the information to send to an output logical
device, to display or print to the Cashier or the Customer.
Possible values:
* **CustomerAssistance**
* **Display**
* **Document**
* **Error**
* **Input**
* **POIReplication**
* **Receipt**
* **Sound**
* **Status**
* **Voucher**'
InputCommand:
$ref: '#/components/schemas/InputCommand'
description: 'Type of requested input. Can be: **GetConfirmation**, **TextString**,
**DigitString**, **DecimalString** or **GetMenuEntry**.
Possible values:
* **DecimalString**
* **DigitString**
* **GetAnyKey**
* **GetConfirmation**
* **GetFunctionKey**
* **GetMenuEntry**
* **Password**
* **SiteManager**
* **TextString**'
NotifyCardInputFlag:
type: boolean
default: false
description: Request Notification of the card entered in the POI card reader.
MaxInputTime:
type: integer
description: Maximum input time in seconds. Limits the time to answer to
an Input request message.
ImmediateResponseFlag:
type: boolean
default: false
description: Indicates whether to request an Immediate response to the message
without waiting for the completion of the command.
MinLength:
type: integer
description: Minimum length of an entered string, or minimum number of entries
that can be selected in a menu.
MaxLength:
type: integer
description: Maximum length of an entered string, or maximum number of entries
that can be selected in a menu.
MaxDecimalLength:
type: integer
description: Maximum input length of the decimal part (without decimal point).
WaitUserValidationFlag:
type: boolean
default: true
description: Indicates that the user must confirm the entered characters,
when the maximum allowed length is reached. During the processing of an
Input command `TextString`, `DigitString` or `DecimalString` with `MaxLength`
or `MaxDecimalLength` present in the request.
DefaultInputString:
type: string
pattern: ^.+$
description: 'Default string value for an input command. On the `TextString`,
`DigitString` and `DecimalString` input commands: default string displayed
on the input field before entering the string. In `GetConfirmation` input
command: **Y** for yes, **N** for no.'
DefaultLayoutString:
type: string
pattern: ^.+$
StringMask:
type: string
pattern: ^.+$
description: String mask to get information requiring a specific format.
For the processing of an Input command `TextString`, `DigitString` or
`DecimalString`. Some information as date or plate number required to
be entered with a certain format.
FromRightToLeftFlag:
type: boolean
default: false
description: Indicates if the entered character has to be displayed from
the right to the left of the display field.
MaskCharactersFlag:
type: boolean
default: false
description: Indicates to mask the characters entered by the user (i.e.
replacing in the display of the input, the entered character by a standard
character as *).
BeepKeyFlag:
type: boolean
default: false
description: Indicates, when the user press a key, if a beep has to be generated
(value True).
GlobalCorrectionFlag:
type: boolean
default: false
description: Indicates, when the user presses the Correct function key in
an input entry, if all the entered characters are removed (value True)
or only the last entered character if any (value False).
DisableCancelFlag:
type: boolean
default: false
description: Indicates if the Cancel function key has to be deactivated
(value True).
DisableCorrectFlag:
type: boolean
default: false
description: Indicates if the Correct function key has to be deactivated
(value True). During the processing of an Input command `GetConfirmation`,
`SiteManager`, or `GetMenuEntry`.
DisableValidFlag:
type: boolean
default: false
description: Indicates if the Valid function key has to be deactivated (value
True). During the processing of an Input command `GetConfirmation`, `SiteManager`,
or `GetMenuEntry`.
MenuBackFlag:
type: boolean
default: false
description: If it has the value True, it indicates that the Back function
key (respectively Home function key) may be used to go back to the immediate
upper level of the menu. If it has the value False, it indicates that
the current menu level has no parent menu.
required:
- Device
- InfoQualify
- InputCommand
Input:
type: object
properties:
InputCommand:
$ref: '#/components/schemas/InputCommand'
description: 'Type of requested input. Can be: **GetConfirmation**, **TextString**,
**DigitString**, **DecimalString** or **GetMenuEntry**.
Possible values:
* **DecimalString**
* **DigitString**
* **GetAnyKey**
* **GetConfirmation**
* **GetFunctionKey**
* **GetMenuEntry**
* **Password**
* **SiteManager**
* **TextString**'
ConfirmedFlag:
type: boolean
description: Indicates te response of the user from the `GetConfirmation`
input command.
FunctionKey:
type: integer
description: The number of the function key which is typed by the Customer
on the POI or the Cashier on the Sale Terminal.
TextInput:
type: string
description: The text typed by the Customer on the POI or by the Cashier
on the Sale Terminal.
DigitInput:
type: integer
description: The digits typed by the Customer on the POI or by the Cashier
on the Sale Terminal.
Password:
type: string
description: The text password typed by the Customer on the POI or by the
Cashier on the Sale Terminal.
MenuEntryNumber:
type: array
items:
type: integer
description: The index of the menu item (from 1 to n) which is selected
by the Cashier on the Sale Terminal. The value -1 indicates that the
immediate upper level of the menu is requested. The value 0 indicates
that the root of the menu is requested.
description: The index of the menu item (from 1 to n) which is selected
by the Cashier on the Sale Terminal. The value -1 indicates that the immediate
upper level of the menu is requested. The value 0 indicates that the root
of the menu is requested.
required:
- InputCommand
InputResult:
type: object
properties:
Device:
$ref: '#/components/schemas/Device'
description: 'Logical device located on a Sale Terminal or a POI Terminal,
in terms of class of information to output (display, print or store),
or input (keyboard) for the Cashier or the Customer.
Possible values:
* **CashierDisplay**
* **CashierInput**
* **CustomerDisplay**
* **CustomerInput**'
InfoQualify:
$ref: '#/components/schemas/InfoQualify'
description: 'Qualification of the information to send to an output logical
device, to display or print to the Cashier or the Customer.
Possible values:
* **CustomerAssistance**
* **Display**
* **Document**
* **Error**
* **Input**
* **POIReplication**
* **Receipt**
* **Sound**
* **Status**
* **Voucher**'
Response:
$ref: '#/components/schemas/Response'
Input:
$ref: '#/components/schemas/Input'
description: Data entered by the user, related to the input command.
required:
- Device
- InfoQualify
- Response
PrintOutput:
type: object
properties:
DocumentQualifier:
$ref: '#/components/schemas/DocumentQualifier'
description: 'Qualification of the document to print to the Cashier or the
Customer. Allows the manager of the printer, Sale or POI Terminal, to
send information to a physical printer or to use the paper type accordingly.
Possible values:
* **CashierReceipt**
* **CustomerReceipt**
* **Document**
* **Journal**
* **SaleReceipt**
* **Voucher**'
ResponseMode:
$ref: '#/components/schemas/ResponseMode'
description: 'Message response awaited by the initiator of the Request.
Allows various types and synchronisation of requests for Print or Sound.
Possible values:
* **Immediate**
* **NotRequired**
* **PrintEnd**
* **SoundEnd**'
IntegratedPrintFlag:
type: boolean
default: false
description: Type of the print integrated in other prints. Allows a separated
printing (paper cut if available), or integration with the sale receipt
or other print. If the printing is integrated, the response is always
immediate, even if the `ResponseMode` is set to `PrintEnd`.
RequiredSignatureFlag:
type: boolean
default: false
description: Indicates that the cardholder payment receipt requires a physical
signature by the Customer.
OutputContent:
$ref: '#/components/schemas/OutputContent'
description: Content to display or print. This is a sequence of elements
if they have different formats.
required:
- DocumentQualifier
- ResponseMode
- OutputContent
SoundContent:
type: object
properties:
SoundFormat:
$ref: '#/components/schemas/SoundFormat'
description: 'Possible values:
* **MessageRef**
* **SoundRef**
* **Text**'
Language:
type: string
pattern: ^[a-z]{2,2}$
ReferenceID:
type: string
pattern: ^.+$
Text:
type: string
pattern: ^.+$
required:
- SoundFormat
CardHolderPIN:
type: object
properties:
EncrPINBlock:
type: string
PINFormat:
$ref: '#/components/schemas/PINFormat'
description: 'Possible values:
* **ISO0**
* **ISO1**
* **ISO2**
* **ISO3**'
AdditionalInput:
type: string
pattern: ^.+$
required:
- EncrPINBlock
- PINFormat
ICCResetData:
type: object
properties:
ATRValue:
type: string
format: byte
pattern: ^.{1,100}$
CardStatusWords:
type: string
format: byte
pattern: ^.{2,2}$
SecurityTrailer:
type: object
description: 'It contains information related to the security of the message.
SecurityTrailer as used by Adyen.'
properties:
AdyenCryptoVersion:
type: integer
KeyIdentifier:
type: string
pattern: ^.+$
KeyVersion:
type: integer
Nonce:
type: string
format: byte
pattern: ^.+$
Hmac:
type: string
format: byte
pattern: ^.+$
required:
- AdyenCryptoVersion
- KeyIdentifier
- KeyVersion
- Nonce
- Hmac
LoginRequest:
type: object
description: 'It conveys information related to the session (period between
a Login and the following Logout) to process.
Content of the `LoginRequest` message.'
properties:
DateTime:
type: string
format: date-time
description: Date and Time. In the Login request message, the Sale System
gives its date and time to the POI System. In the Login response, the
POI System gives its date and time to the Sale System.
SaleSoftware:
$ref: '#/components/schemas/SaleSoftware'
description: Information related to the software of the Sale System which
manages the Sale to POI protocol.
SaleTerminalData:
$ref: '#/components/schemas/SaleTerminalData'
description: 'Information related to the software and hardware feature of
the Sale Terminal.
Present if the login involve a Sale Terminal.'
TrainingModeFlag:
type: boolean
default: false
description: 'Training mode.
This flag indicates to the POI that the entire session will be not used
to make real transaction, but is used for test of system or operator training.'
OperatorLanguage:
type: string
pattern: ^[a-z]{2,2}$
description: 'Language of the Cashier or Operator.
Default value for Device type displays.'
OperatorID:
type: string
pattern: ^.+$
description: 'Identification of the Cashier or Operator.
Four conditions to send it:
* The Sale System wants the POI to log it in the transaction log.
* Because of reconciliation with total on OperatorID.
* Because the POI needs it.
* Acquirer or issuer need it.'
ShiftNumber:
type: string
pattern: ^.+$
description: 'Shift number.
Same as OperatorID.'
TokenRequestedType:
$ref: '#/components/schemas/TokenRequestedType'
description: "Type of token replacing the PAN of a payment card to identify\
\ the payment\n mean of the customer. It allows, for a merchant, to use\
\ a token for a transaction\n only or for a longer period.\nPossible values:\n\
* **Customer**\n* **Transaction**"
CustomerOrderReq:
$ref: '#/components/schemas/CustomerOrderReq'
description: 'List of customer order open, closed or both to be sent in
the response messages.
Possible values:
* **Both**
* **Closed**
* **Open**'
POISerialNumber:
type: string
pattern: ^.+$
description: 'Serial number of a POI Terminal.
If the login involve a POI Terminal and not the first Login to the POI
System.'
required:
- DateTime
- SaleSoftware
- OperatorLanguage
LogoutRequest:
type: object
description: 'Empty.
Content of the Logout Request message.'
properties:
MaintenanceAllowed:
type: boolean
default: false
description: Indicates that the POI terminal is able to or has to go to
maintenance. Sent in the Logout Request to express that after closing
the session, the POI may go to maintenance.
EnableServiceRequest:
type: object
description: 'It conveys the services that will be enabled for the POI Terminal
without the request of the Sale System, and a possible invitation for the
Customer to start the services.
Content of the Enable Service Request message.'
properties:
TransactionAction:
$ref: '#/components/schemas/TransactionAction'
description: "Action to realise on a transaction. In an `EnableService`\
\ request message:\n - Starts a transaction by a swipe-ahead mechanism,\
\ with the services which are enabled.\n - Aborts a swipe-ahead transaction\
\ or started by a `CardAcquisition`, and not followed by a service request\
\ from the Sale System to complete the transaction.\nPossible values:\n\
* **AbortTransaction**\n* **StartTransaction**"
ServicesEnabled:
$ref: '#/components/schemas/ServicesEnabled'
description: 'Services which are enabled before the start-up of a transaction.
Mandatory if `TransactionAction` is `StartTransaction`, absent if not.
Possible values:
* **CardAcquisition**
* **Loyalty**
* **Payment**'
DisplayOutput:
$ref: '#/components/schemas/DisplayOutput'
description: Information to display and the way to process the display.
required:
- TransactionAction
AdminRequest:
type: object
description: 'Empty.
Content of the Custom Admin Request message.'
properties:
ServiceIdentification:
type: string
pattern: ^.+$
description: Identification of the administrative service to process.
PaymentRequest:
type: object
description: 'Request sent to terminal to initiate payment.
It conveys Information related to the Payment transaction to process.
Content of the `PaymentRequest` message.'
properties:
SaleData:
$ref: '#/components/schemas/SaleData'
description: Data related to the Sale System.
PaymentTransaction:
$ref: '#/components/schemas/PaymentTransaction'
description: Data related to the payment and loyalty transaction.
PaymentData:
$ref: '#/components/schemas/PaymentData'
description: 'Data related to the payment transaction.
If one data element is present.'
LoyaltyData:
type: array
items:
$ref: '#/components/schemas/LoyaltyData'
description: 'Data related to a Loyalty program or account.
Loyalty cards used with the payment transaction and read by the Sale System.'
required:
- SaleData
- PaymentTransaction
CardAcquisitionRequest:
type: object
description: 'It conveys Information related to the payment and loyalty cards
to read and analyse. This message pair is usually followed by a message pair
(e.g. payment or loyalty) which refers to this Card Acquisition message pair.
Content of the Card Acquisition Request message.'
properties:
SaleData:
$ref: '#/components/schemas/SaleData'
description: Data related to the Sale System.
CardAcquisitionTransaction:
$ref: '#/components/schemas/CardAcquisitionTransaction'
description: Data related to the payment and loyalty card acquisition.
required:
- SaleData
- CardAcquisitionTransaction
LoyaltyRequest:
type: object
description: 'It conveys Information related to the Loyalty transaction to process.
Content of the Loyalty Request message.'
properties:
SaleData:
$ref: '#/components/schemas/SaleData'
description: Data related to the Sale System.
LoyaltyTransaction:
$ref: '#/components/schemas/LoyaltyTransaction'
description: Data related to the loyalty transaction.
LoyaltyData:
$ref: '#/components/schemas/LoyaltyData'
description: Data related to a Loyalty program or account.
required:
- SaleData
- LoyaltyTransaction
- LoyaltyData
StoredValueRequest:
type: object
description: 'It conveys Information related to the Stored Value transaction
to process.
Content of the Stored Value Request message.'
properties:
SaleData:
$ref: '#/components/schemas/SaleData'
description: Data related to the Sale System.
StoredValueData:
type: array
items:
$ref: '#/components/schemas/StoredValueData'
description: Data related to the stored value card.
required:
- SaleData
- StoredValueData
ReversalRequest:
type: object
description: 'It conveys Information related to the reversal of a previous payment
or a loyalty transaction.
Content of the Reversal Request message.'
properties:
SaleData:
$ref: '#/components/schemas/SaleData'
OriginalPOITransaction:
$ref: '#/components/schemas/OriginalPOITransaction'
description: Identification of a previous POI transaction.
ReversedAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: 'Amount of the payment or loyalty to reverse.
ReversedAmount is implicitly equal to the AuthorizedAmount if absent.'
ReversalReason:
$ref: '#/components/schemas/ReversalReason'
description: 'Reason of the payment or loyalty reversal.
Possible values:
* **CustCancel**
* **Malfunction**
* **MerchantCancel**
* **Unable2Compl**'
CustomerOrder:
$ref: '#/components/schemas/CustomerOrder'
required:
- OriginalPOITransaction
- ReversalReason
ReconciliationRequest:
type: object
description: 'Content of the Reconciliation Request message.
It conveys Information related to the Reconciliation requested by the Sale
System.'
properties:
ReconciliationType:
$ref: '#/components/schemas/ReconciliationType'
description: 'Type of Reconciliation requested by the Sale to the POI.
Possible values:
* **AcquirerReconciliation**
* **AcquirerSynchronisation**
* **PreviousReconciliation**
* **SaleReconciliation**'
AcquirerID:
type: array
items:
type: integer
description: 'Identification of the Acquirer.
Could be present only if ReconciliationType is AcquirerReconciliation
or AcquirerSynchronisation.'
description: 'Identification of the Acquirer.
Could be present only if ReconciliationType is AcquirerReconciliation
or AcquirerSynchronisation.'
POIReconciliationID:
type: integer
description: 'Identification of the reconciliation period between Sale and
POI.
Absent if ReconciliationType is not PreviousReconciliation.'
required:
- ReconciliationType
GetTotalsRequest:
type: object
description: 'It conveys information from the Sale System related to the scope
and the format of the totals to be computed by the POI System.
Content of the Get Totals Request message.'
properties:
TotalDetails:
$ref: '#/components/schemas/TotalDetails'
description: 'Indicates the hierarchical structure of the reconciliation
result of the Sale to POI reconciliation.
Required to present totals per value of element included in this cluster
(POI Terminal, Sale Terminal, Cashier, Shift, TotalsGroupID).
Possible values:
* **OperatorID**
* **POIID**
* **SaleID**
* **ShiftNumber**
* **TotalsGroupID**'
TotalFilter:
$ref: '#/components/schemas/TotalFilter'
description: 'Filter to compute the totals.
Used for the Get Totals, to request totals for a (or a combination of)
particular value of the POI Terminal, Sale Terminal, Cashier, Shift, or
TotalsGroupID.'
BalanceInquiryRequest:
type: object
description: 'It conveys Information related to the account for which a Balance
Inquiry is requested.
Content of the Balance Inquiry Request message.'
properties:
PaymentAccountReq:
$ref: '#/components/schemas/PaymentAccountReq'
description: Data related to the account pointed by the payment card.
LoyaltyAccountReq:
$ref: '#/components/schemas/LoyaltyAccountReq'
description: Data related to a requested Loyalty program or account.
TransactionStatusRequest:
type: object
description: 'Content of the TransactionStatus Request message.
It conveys Information requested for status of the last or current Payment,
Loyalty or Reversal transaction.'
properties:
MessageReference:
$ref: '#/components/schemas/MessageReference'
description: 'Identification of a previous POI transaction.
Present if it contains any data.'
ReceiptReprintFlag:
type: boolean
default: false
description: Request to reprint the POI receipt(s). Allows reprinting a
receipt with a `TransactionStatus` message
DocumentQualifier:
type: array
items:
$ref: '#/components/schemas/DocumentQualifier'
description: 'Qualification of the document to print to the Cashier or the
Customer. Allows the manager of the printer, Sale or POI Terminal, to
send the information to a particular physical printer or to use the paper
type accordingly.
Possible values:
* **CashierReceipt**
* **CustomerReceipt**
* **Document**
* **Journal**
* **SaleReceipt**
* **Voucher**'
AbortRequest:
type: object
description: 'Body of the Abort Request message.
It conveys Information requested for identification of the message request
carrying the transaction to abort. A message to display on the CustomerError
Device could be sent by the Sale System (DisplayOutput).'
properties:
MessageReference:
$ref: '#/components/schemas/MessageReference'
description: Identification of a previous POI transaction.
AbortReason:
type: string
pattern: ^.+$
description: Reason of aborting a transaction.
DisplayOutput:
$ref: '#/components/schemas/DisplayOutput'
description: 'Information to display and the way to process the display.
To display an abort message to the Customer.'
required:
- MessageReference
- AbortReason
EventNotification:
type: object
description: 'Content of the EventNotification message.
It conveys Information related to the event, and possible action (maintenance,
message to display).'
properties:
TimeStamp:
type: string
format: date-time
description: Date and time of a transaction for the Sale System, the POI
System or the Acquirer.
EventToNotify:
$ref: '#/components/schemas/EventToNotify'
description: 'Event the POI notifies to the Sale System.
Possible values:
* **Abort**
* **BeginMaintenance**
* **CardInserted**
* **CardRemoved**
* **Completed**
* **CustomerLanguage**
* **EndMaintenance**
* **Initialised**
* **KeyPressed**
* **OutOfOrder**
* **Reject**
* **SaleAdmin**
* **SaleWakeUp**
* **SecurityAlarm**
* **Shutdown**
* **StopAssistance**
* **UseAnotherCardForPreauth**'
EventDetails:
type: string
pattern: ^.+$
description: 'Information about the event the POI notifies to the Sale System.
If present, the Sale logs it for further examination.'
RejectedMessage:
type: string
format: byte
pattern: ^.+$
description: 'Message request rejected by the receiver.
Mandatory if EventToNotify is Reject, absent in other cases.'
MaintenanceRequiredFlag:
type: boolean
default: false
description: Indicates if the occurred event requires maintenance call or
action.
DisplayOutput:
type: array
items:
$ref: '#/components/schemas/DisplayOutput'
description: 'Information to display and the way to process the display.
To display an event message.'
required:
- TimeStamp
- EventToNotify
DiagnosisRequest:
type: object
description: 'It conveys Information related to the target POI for which the
diagnosis is requested.
Content of the Diagnosis Request message.'
properties:
POIID:
type: string
pattern: ^.+$
description: 'Identification of a POI System or a POI Terminal for the Sale
to POI protocol.
MessageHeader.POIID.'
HostDiagnosisFlag:
type: boolean
default: false
description: Indicates if Host Diagnosis are required.
AcquirerID:
type: array
items:
type: integer
description: 'Identification of the Acquirer.
Present if requesting the diagnosis of these hosts only.'
description: 'Identification of the Acquirer.
Present if requesting the diagnosis of these hosts only.'
DisplayRequest:
type: object
description: 'It conveys the data to display and the way to process the display.
It contains the complete content to display. It might contain an operation
(the DisplayOutput element) per Display Device type.
Content of the Display Request message.'
properties:
DisplayOutput:
type: array
items:
$ref: '#/components/schemas/DisplayOutput'
description: 'Information to display and the way to process the display.
Complete display content for output devices. At most one DisplayOutput
per Device/ InfoQualify pair.'
required:
- DisplayOutput
InputRequest:
type: object
description: Content of the `InputRequest` message. It conveys the data to display
and how to process it. In addition to the display on the Input Device, it
might contain an operation (the `DisplayOutput` element) per Display Device
type.
properties:
DisplayOutput:
$ref: '#/components/schemas/DisplayOutput'
description: Information to display and the way to process the display.
InputData:
$ref: '#/components/schemas/InputData'
description: Information related to an Input request. It conveys the target
input logical device, the type of input command, and possible minimum
and maximum length of the input. In addition, if the requestor might require
to receive an Event Notification if a card is inserted in a card reader,
with the `NotifyCardInputFlag`.
required:
- InputData
InputUpdate:
type: object
description: 'Definition: Content of the Input Update message. : It conveys
update of the display of an Input request in progress.'
properties:
MessageReference:
$ref: '#/components/schemas/MessageReference'
OutputContent:
$ref: '#/components/schemas/OutputContent'
MenuEntry:
type: array
items:
$ref: '#/components/schemas/MenuEntry'
OutputSignature:
type: string
format: byte
pattern: ^.+$
MinLength:
type: integer
MaxLength:
type: integer
MaxDecimalLength:
type: integer
required:
- MessageReference
- OutputContent
PrintRequest:
type: object
description: 'Content of the Print Request message.
It conveys the complete data to print and how to process the print.'
properties:
PrintOutput:
$ref: '#/components/schemas/PrintOutput'
description: Information to print and how to process it.
required:
- PrintOutput
CardReaderAPDURequest:
type: object
description: 'It contains the APDU request to send to the chip of the card,
and a possible invitation message to display on the CashierInterface or the
CustomerInterface.
Content of the Card Reader APDU Request message.'
properties:
APDUClass:
type: string
format: byte
pattern: ^.{1,1}$
description: Class field of the APDU command (CLA). APDU request for Card
Reader device request. For specific card like synchronous card, a private
value should be used in accordance to ISO 7816- 4 (private range D0-FE).
APDUInstruction:
type: string
format: byte
pattern: ^.{1,1}$
description: Instruction field of the APDU command (INS).
APDUPar1:
type: string
format: byte
pattern: ^.{1,1}$
description: Parameter 1 field of the APDU command (P1).
APDUPar2:
type: string
format: byte
pattern: ^.{1,1}$
description: Parameter 2 field of the APDU command(P2).
APDUData:
type: string
format: byte
pattern: ^.+$
description: Data field of the APDU command (Lc + Data).
APDUExpectedLength:
type: string
format: byte
pattern: ^.{1,1}$
description: Expected length of the data field of the APDU response to the
command (Le).
required:
- APDUClass
- APDUInstruction
- APDUPar1
- APDUPar2
LoginResponse:
type: object
description: 'It conveys Information related to the Login to process.
Content of the Login Response message.'
properties:
Response:
$ref: '#/components/schemas/Response'
description: Result of a message request processing.
POISystemData:
$ref: '#/components/schemas/POISystemData'
description: 'Information related to the POI System.
Returned if the response result is Success.'
TokenRequestStatus:
type: boolean
description: If token is managed by the POI, the status of the token request.
CustomerOrderStatus:
type: boolean
description: If the POI supports the CustomerOrder functionality, the status
of the customer order.
required:
- Response
LogoutResponse:
type: object
description: 'It conveys the result of the Logout.
Content of the Logout Response message.'
properties:
Response:
$ref: '#/components/schemas/Response'
description: Result of a message request processing.
required:
- Response
EnableServiceResponse:
type: object
description: 'It conveys the result of the Enable Service processing.
Content of the Enable Service Response message.'
properties:
Response:
$ref: '#/components/schemas/Response'
description: Result of a message request processing.
required:
- Response
AdminResponse:
type: object
description: 'It conveys the result of the Custom Admin.
Content of the Custom Admin Response message.'
properties:
Response:
$ref: '#/components/schemas/Response'
description: Result of a message request processing.
required:
- Response
PaymentResponse:
type: object
description: 'It conveys Information related to the Payment transaction processed
by the POI System.
Content of the Payment Response message.'
properties:
Response:
$ref: '#/components/schemas/Response'
description: Result of a message request processing.
SaleData:
$ref: '#/components/schemas/SaleData'
description: 'Data related to the Sale System.
Copy.'
POIData:
$ref: '#/components/schemas/POIData'
description: Data related to the POI System.
PaymentResult:
$ref: '#/components/schemas/PaymentResult'
description: 'Data related to the result of a processed payment transaction.
If one data element is present.'
LoyaltyResult:
type: array
items:
$ref: '#/components/schemas/LoyaltyResult'
description: 'Data related to the result of a processed loyalty transaction.
Loyalty cards used with the payment transaction.'
PaymentReceipt:
type: array
items:
$ref: '#/components/schemas/PaymentReceipt'
description: Customer or Merchant payment receipt. If the payment receipts
are printed by the Sale system and the POI or the Sale does not implement
the Print exchange (Basic profile).
CustomerOrder:
type: array
items:
$ref: '#/components/schemas/CustomerOrder'
required:
- Response
- SaleData
- POIData
CardAcquisitionResponse:
type: object
description: 'It conveys Information related to the payment and loyalty cards
read and processed by the POI System and entered by the Customer.
Content of the Card Acquisition Response message.'
properties:
Response:
$ref: '#/components/schemas/Response'
description: Result of a message request processing.
SaleData:
$ref: '#/components/schemas/SaleData'
description: Data related to the Sale System.
POIData:
$ref: '#/components/schemas/POIData'
description: Data related to the POI System.
PaymentBrand:
type: array
items:
type: string
pattern: ^.+$
description: 'Type of payment card.
Brands available for payment by the card and not chosen by the Customer.'
description: 'Type of payment card.
Brands available for payment by the card and not chosen by the Customer.'
PaymentInstrumentData:
$ref: '#/components/schemas/PaymentInstrumentData'
description: 'Data related to the instrument of payment for the transaction.
If this type of payment card is configured to send information if the
CardAcquisition response.'
LoyaltyAccount:
type: array
items:
$ref: '#/components/schemas/LoyaltyAccount'
description: Data related to the loyalty System.
required:
- Response
- SaleData
- POIData
LoyaltyResponse:
type: object
description: 'It conveys Information related to the Loyalty transaction processed
by the POI System.
Content of the Loyalty Response message.'
properties:
Response:
$ref: '#/components/schemas/Response'
description: Result of a message request processing.
SaleData:
$ref: '#/components/schemas/SaleData'
description: Data related to the Sale System.
POIData:
$ref: '#/components/schemas/POIData'
description: Data related to the POI System.
LoyaltyResult:
type: array
items:
$ref: '#/components/schemas/LoyaltyResult'
description: 'Data related to the result of a processed loyalty transaction.
If loyalty account identified.'
PaymentReceipt:
type: array
items:
$ref: '#/components/schemas/PaymentReceipt'
required:
- Response
- SaleData
- POIData
StoredValueResponse:
type: object
description: 'It conveys Information related to the Stored Value transaction
processed by the POI System.
Content of the Stored Value Response message.'
properties:
Response:
$ref: '#/components/schemas/Response'
description: Result of a message request processing.
SaleData:
$ref: '#/components/schemas/SaleData'
description: Data related to the Sale System.
POIData:
$ref: '#/components/schemas/POIData'
description: Data related to the POI System.
StoredValueResult:
type: array
items:
$ref: '#/components/schemas/StoredValueResult'
description: 'Result of loading/reloading a stored value card.
If StoredValueResponse.Result is Success or Partial, one entry per StoredValueRequest.StoredValueData
loaded or activated.'
PaymentReceipt:
type: array
items:
$ref: '#/components/schemas/PaymentReceipt'
required:
- Response
- SaleData
- POIData
ReversalResponse:
type: object
description: 'It conveys Information related to the reversal processed by the
POI System.
Content of the Reversal Response message.'
properties:
Response:
$ref: '#/components/schemas/Response'
description: Result of a message request processing.
POIData:
$ref: '#/components/schemas/POIData'
description: 'Data related to the POI System.
If Result is Success.'
OriginalPOITransaction:
$ref: '#/components/schemas/OriginalPOITransaction'
ReversedAmount:
type: number
maximum: 99999999.999999
minimum: 0.0
description: 'Amount of the payment or loyalty to reverse.
Copy.'
CustomerOrder:
type: array
items:
$ref: '#/components/schemas/CustomerOrder'
PaymentReceipt:
type: array
items:
$ref: '#/components/schemas/PaymentReceipt'
required:
- Response
ReconciliationResponse:
type: object
description: 'It conveys Information related to the Reconciliation transaction
processed by the POI System.
Content of the Reconciliation Response message.'
properties:
Response:
$ref: '#/components/schemas/Response'
description: Result of a message request processing.
ReconciliationType:
$ref: '#/components/schemas/ReconciliationType'
description: 'Type of Reconciliation requested by the Sale to the POI.
Possible values:
* **AcquirerReconciliation**
* **AcquirerSynchronisation**
* **PreviousReconciliation**
* **SaleReconciliation**'
POIReconciliationID:
type: integer
description: 'Identification of the reconciliation period between Sale and
POI.
Absent if ReconciliationType is `AcquirerReconciliation`.'
TransactionTotals:
type: array
items:
$ref: '#/components/schemas/TransactionTotals'
description: 'Result of the Sale to POI Reconciliation processing.
If `Response.Result` is Success.'
required:
- Response
- ReconciliationType
GetTotalsResponse:
type: object
description: 'Content of the Reconciliation Response message.
It conveys Information related to the Reconciliation transaction processed
by the POI System.'
properties:
Response:
$ref: '#/components/schemas/Response'
description: Result of a message request processing.
POIReconciliationID:
type: integer
description: Identification of the reconciliation period between Sale and
POI.
TransactionTotals:
type: array
items:
$ref: '#/components/schemas/TransactionTotals'
description: 'Result of the Sale to POI Reconciliation processing.
If `Response.Result` is Success.'
required:
- Response
- POIReconciliationID
BalanceInquiryResponse:
type: object
description: 'Content of the Balance Inquiry Response message.
It conveys the balance and the identification of the associated payment, loyalty
or stored value account.'
properties:
Response:
$ref: '#/components/schemas/Response'
description: Result of a message request processing.
PaymentAccountStatus:
$ref: '#/components/schemas/PaymentAccountStatus'
description: 'Data related to the result of a Balance Inquiry request.
If BalanceInquiryRequest. PaymentAccount present.'
LoyaltyAccountStatus:
$ref: '#/components/schemas/LoyaltyAccountStatus'
description: 'Data related to the result of a loyalty Balance Inquiry.
If BalanceInquiryRequest. LoyaltyData present.'
PaymentReceipt:
type: array
items:
$ref: '#/components/schemas/PaymentReceipt'
required:
- Response
CardReaderAPDUResponse:
type: object
description: 'Content of the Card Reader APDU Response message.
It contains the result of the requested service, APDU response sent by the
chip of the card in response to the APDU request.'
properties:
Response:
$ref: '#/components/schemas/Response'
description: Result of a message request processing.
APDUData:
type: string
format: byte
pattern: ^.+$
description: Data field of the APDU command (Lc + Data).
CardStatusWords:
type: string
format: byte
pattern: ^.{2,2}$
description: Status of a smartcard response to a command (SW1-SW2).
required:
- Response
- CardStatusWords
TransactionStatusResponse:
type: object
description: 'Content of the TransactionStatus Response message.
It conveys Information related to the status of the last or current Payment,
Loyalty or Reversal transaction.'
properties:
Response:
$ref: '#/components/schemas/Response'
description: Result of a message request processing.
MessageReference:
$ref: '#/components/schemas/MessageReference'
description: 'Identification of a previous POI transaction.
If `Response.Result` is Success.'
RepeatedMessageResponse:
$ref: '#/components/schemas/RepeatedMessageResponse'
description: 'Content of the requested Message Response.
If Result is Success (process completed).'
required:
- Response
AbortResponse:
type: object
description: A successful `AbortRequest` returns a response with a **200 OK**
HTTP status code and no body.
properties: {}
DiagnosisResponse:
type: object
description: 'It conveys the result of the requested diagnosis and a possible
message to display on a logical device.
Content of the Diagnosis Response message.'
properties:
Response:
$ref: '#/components/schemas/Response'
description: Result of a message request processing.
LoggedSaleID:
type: array
items:
type: string
pattern: ^.+$
description: 'Sale Terminal logged to.
If Sale Terminal logged to this POI Terminal.'
description: 'Sale Terminal logged to.
If Sale Terminal logged to this POI Terminal.'
POIStatus:
$ref: '#/components/schemas/POIStatus'
description: 'State of a POI Terminal.
If `Response.Result` is Success.'
HostStatus:
type: array
items:
$ref: '#/components/schemas/HostStatus'
description: State of a Host.
required:
- Response
DisplayResponse:
type: object
description: 'It conveys the result of the display, parallel to the message
request, except if response not required and absent.
Content of the Display Response message.'
properties:
OutputResult:
type: array
items:
$ref: '#/components/schemas/OutputResult'
description: 'Information related to the result the output (display, print,
input).
One per DisplayOutput item of the request, and in the same order.'
required:
- OutputResult
InputResponse:
type: object
description: 'It conveys the result of the input or the result of the outputs,
parallel to the message request, except if response not required and absent.
Content of the Input Response message.'
properties:
OutputResult:
$ref: '#/components/schemas/OutputResult'
description: 'Information related to the result the output (display, print,
input).
If DisplayOutput present in the request.'
InputResult:
$ref: '#/components/schemas/InputResult'
description: Contains the result and the content of the input.
required:
- InputResult
PrintResponse:
type: object
description: 'It conveys the result of the print, parallel to the message request,
except if response not required and absent.
Content of the Print Response message.'
properties:
DocumentQualifier:
$ref: '#/components/schemas/DocumentQualifier'
description: 'Qualification of the document to print to the Cashier or the
Customer. Allows the manager of the printer, Sale or POI Terminal, to
send information to a physical printer or to use the paper type accordingly.
Possible values:
* **CashierReceipt**
* **CustomerReceipt**
* **Document**
* **Journal**
* **SaleReceipt**
* **Voucher**'
Response:
$ref: '#/components/schemas/Response'
description: Result of a message request processing.
required:
- DocumentQualifier
- Response
securitySchemes:
ApiKeyAuth:
in: header
name: X-API-Key
type: apiKey
BasicAuth:
scheme: basic
type: http