openapi: 3.1.0 info: version: '1' title: Adyen Terminal API description: >- The Adyen Terminal API lets you make payments, issue refunds, collect shopper information, and perform other shopper-terminal interactions using a payment terminal supplied by Adyen. 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: paths: /login: post: description: >- It conveys Information related to the session (period between a Login and the following Logout) to process. Content of the Login Request message. summary: Adyen Login Request security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/LoginRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/LoginResponse' examples: operation200Example: summary: Default operation 200 response x-microcks-default: true value: Response: example_value POISystemData: example_value TokenRequestStatus: true CustomerOrderStatus: true description: >- It conveys Information related to the Login to process. Content of the Login Response message. tags: - Login x-microcks-operation: delay: 0 dispatcher: FALLBACK /logout: post: description: Empty. Content of the Logout Request message. summary: Adyen Logout Request security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/LogoutRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogoutResponse' examples: operation200Example: summary: Default operation 200 response x-microcks-default: true value: Response: example_value description: >- It conveys the result of the Logout. Content of the Logout Response message. tags: - Logout x-microcks-operation: delay: 0 dispatcher: FALLBACK /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: Adyen EnableService Request security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/EnableServiceRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnableServiceResponse' examples: operation200Example: summary: Default operation 200 response x-microcks-default: true value: Response: example_value description: >- It conveys the result of the Enable Service processing. Content of the Enable Service Response message. tags: - Enableservice x-microcks-operation: delay: 0 dispatcher: FALLBACK /admin: post: description: Empty. Content of the Custom Admin Request message. summary: Adyen Admin Request security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/AdminResponse' examples: operation200Example: summary: Default operation 200 response x-microcks-default: true value: Response: example_value description: >- It conveys the result of the Custom Admin. Content of the Custom Admin Response message. tags: - Admin x-microcks-operation: delay: 0 dispatcher: FALLBACK /payment: post: description: >- Request sent to terminal to initiate payment. It conveys Information related to the Payment transaction to process. Content of the Payment Request message. summary: Adyen Payment Request security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaymentResponse' examples: operation200Example: summary: Default operation 200 response x-microcks-default: true value: Response: example_value SaleData: example_value POIData: example_value PaymentResult: example_value LoyaltyResult: - example_value PaymentReceipt: - example_value CustomerOrder: - example_value description: >- It conveys Information related to the Payment transaction processed by the POI System. Content of the Payment Response message. tags: - Payment x-microcks-operation: delay: 0 dispatcher: FALLBACK /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: Adyen CardAcquisition Request security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CardAcquisitionRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/CardAcquisitionResponse' examples: operation200Example: summary: Default operation 200 response x-microcks-default: true value: Response: example_value SaleData: example_value POIData: example_value CustomerLanguage: example_value PaymentBrand: - example_value PaymentInstrumentData: example_value LoyaltyAccount: - example_value 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. tags: - Cardacquisition x-microcks-operation: delay: 0 dispatcher: FALLBACK /loyalty: post: description: >- It conveys Information related to the Loyalty transaction to process. Content of the Loyalty Request message. summary: Adyen Loyalty Request security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/LoyaltyRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/LoyaltyResponse' examples: operation200Example: summary: Default operation 200 response x-microcks-default: true value: Response: example_value SaleData: example_value POIData: example_value LoyaltyResult: - example_value PaymentReceipt: - example_value description: >- It conveys Information related to the Loyalty transaction processed by the POI System. Content of the Loyalty Response message. tags: - Loyalty x-microcks-operation: delay: 0 dispatcher: FALLBACK /storedvalue: post: description: >- It conveys Information related to the Stored Value transaction to process. Content of the Stored Value Request message. summary: Adyen StoredValue Request security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/StoredValueRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/StoredValueResponse' examples: operation200Example: summary: Default operation 200 response x-microcks-default: true value: Response: example_value SaleData: example_value POIData: example_value StoredValueResult: - example_value PaymentReceipt: - example_value description: >- It conveys Information related to the Stored Value transaction processed by the POI System. Content of the Stored Value Response message. tags: - Storedvalue x-microcks-operation: delay: 0 dispatcher: FALLBACK /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: Adyen Reversal Request security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/ReversalRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ReversalResponse' examples: operation200Example: summary: Default operation 200 response x-microcks-default: true value: Response: example_value POIData: example_value OriginalPOITransaction: example_value ReversedAmount: 0.0 CustomerOrder: - example_value PaymentReceipt: - example_value description: >- It conveys Information related to the reversal processed by the POI System. Content of the Reversal Response message. tags: - Reversal x-microcks-operation: delay: 0 dispatcher: FALLBACK /reconciliation: post: description: >- It conveys Information related to the Reconciliation requested by the Sale System. Content of the Reconciliation Request message. summary: Adyen Reconciliation Request security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/ReconciliationRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ReconciliationResponse' examples: operation200Example: summary: Default operation 200 response x-microcks-default: true value: Response: example_value ReconciliationType: standard POIReconciliationID: 500 TransactionTotals: - example_value description: >- It conveys Information related to the Reconciliation transaction processed by the POI System. Content of the Reconciliation Response message. tags: - Reconciliation x-microcks-operation: delay: 0 dispatcher: FALLBACK /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: Adyen GetTotals Request security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/GetTotalsRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetTotalsResponse' examples: operation200Example: summary: Default operation 200 response x-microcks-default: true value: Response: example_value POIReconciliationID: 500 TransactionTotals: - example_value description: >- It conveys Information related to the Reconciliation transaction processed by the POI System. Content of the Reconciliation Response message. tags: - Gettotals x-microcks-operation: delay: 0 dispatcher: FALLBACK /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: Adyen BalanceInquiry Request security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/BalanceInquiryRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/BalanceInquiryResponse' examples: operation200Example: summary: Default operation 200 response x-microcks-default: true value: Response: example_value PaymentAccountStatus: active LoyaltyAccountStatus: active PaymentReceipt: - example_value description: >- It conveys the balance and the identification of the associated payment, loyalty or stored value account. Content of the Balance Inquiry Response message. tags: - Balanceinquiry x-microcks-operation: delay: 0 dispatcher: FALLBACK /transactionstatus: post: description: >- It conveys Information requested for status of the last or current Payment, Loyalty or Reversal transaction. Content of the TransactionStatus Request message. summary: Adyen TransactionStatus Request security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/TransactionStatusRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/TransactionStatusResponse' examples: operation200Example: summary: Default operation 200 response x-microcks-default: true value: Response: example_value MessageReference: REF-001 RepeatedMessageResponse: example_value description: >- It conveys Information related to the status of the last or current Payment, Loyalty or Reversal transaction. Content of the TransactionStatus Response message. tags: - Transactionstatus x-microcks-operation: delay: 0 dispatcher: FALLBACK /diagnosis: post: description: >- It conveys Information related to the target POI for which the diagnosis is requested. Content of the Diagnosis Request message. summary: Adyen Diagnosis Request security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/DiagnosisRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DiagnosisResponse' examples: operation200Example: summary: Default operation 200 response x-microcks-default: true value: Response: example_value LoggedSaleID: - '500123' POIStatus: active HostStatus: - active 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. tags: - Diagnosis x-microcks-operation: delay: 0 dispatcher: FALLBACK /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: Adyen Display Request security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/DisplayRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DisplayResponse' examples: operation200Example: summary: Default operation 200 response x-microcks-default: true value: OutputResult: - example_value 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. tags: - Display x-microcks-operation: delay: 0 dispatcher: FALLBACK /input: post: description: >- It conveys data to display and the way to process the display, and contains the complete content to display. In addition to the display on the Input Device, it might contain an operation (the DisplayOutput element) per Display Device type. Content of the Input Request message. summary: Adyen Input Request security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/InputRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/InputResponse' examples: operation200Example: summary: Default operation 200 response x-microcks-default: true value: OutputResult: example_value InputResult: example_value 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. tags: - Input x-microcks-operation: delay: 0 dispatcher: FALLBACK /print: post: description: >- It conveys the data to print and the way to process the print. It contains the complete content to print. Content of the Print Request message. summary: Adyen Print Request security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/PrintRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/PrintResponse' examples: operation200Example: summary: Default operation 200 response x-microcks-default: true value: DocumentQualifier: example_value Response: example_value 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. tags: - Print x-microcks-operation: delay: 0 dispatcher: FALLBACK /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: Adyen CardReaderAPDU Request security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CardReaderAPDURequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/CardReaderAPDUResponse' examples: operation200Example: summary: Default operation 200 response x-microcks-default: true value: Response: example_value APDUData: example_value CardStatusWords: active description: >- It contains the result of the requested service, APDU response sent by the chip of the card in response to the APDU request. Content of the Card Reader APDU Response message. tags: - Cardreaderapdu x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: TerminalEnvironment: type: string enum: - Attended - SemiAttended - Unattended GenericProfile: type: string enum: - Basic - Extended - Standard ServiceProfiles: type: array items: type: string enum: - Batch - CardReader - Communication - Loyalty - OneTimeRes - PIN - Reservation - Sound - StoredValue - Synchro SaleCapabilities: type: array items: type: string enum: - CashierDisplay - CashierError - CashierInput - CashierStatus - CustomerAssistance - CustomerDisplay - CustomerError - CustomerInput - EMVContactless - ICC - MagStripe - POIReplication - PrinterDocument - PrinterReceipt - PrinterVoucher TokenRequestedType: type: string enum: - Customer - Transaction CustomerOrderReq: type: array items: type: string enum: - Both - Closed - Open TrackFormat: type: string 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 enum: - NoPaper - OK - OutOfOrder - PaperJam - PaperLow POICapabilities: type: array 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 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 enum: - Code128 - Code25 - EAN13 - EAN8 - PDF417 - QRCode - UPCA MenuEntryTag: type: string description: Characteristics related to the selection of a menu entry. enum: - NonSelectable - NonSelectableSubMenu - Selectable - SubMenu TransactionAction: type: string description: Action to realise on a transaction. enum: - AbortTransaction - StartTransaction ServicesEnabled: type: array 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 enum: - HybridCard - LinkedCard - LoyaltyCard - NoCard InstalmentType: type: string enum: - DeferredInstalments - EqualInstalments - InequalInstalments PeriodUnit: type: string 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 items: type: string enum: - Bypass - ManualVerification - MerchantAuthentication - OfflinePIN - OnlinePIN - PaperSignature - SecureCertificate - SecureNoCertificate - SecuredChannel - SignatureCapture - UnknownMethod LoyaltyTransactionType: type: string 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.. 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 items: type: string enum: - OperatorID - POIID - SaleID - ShiftNumber - TotalsGroupID AccountType: type: string 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 - 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. enum: - Abort - BeginMaintenance - CardInserted - CardRemoved - Completed - CustomerLanguage - EndMaintenance - Initialised - KeyPressed - OutOfOrder - Reject - SaleAdmin - SaleWakeUp - SecurityAlarm - Shutdown - StopAssistance 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. enum: - PINEnter - PINVerify - PINVerifyOnly SaleToIssuerData: type: object description: >- The POI System receives this information and sends it to the Acquirer for the Issuer without any change. Sale information intended for the Issuer. properties: StatementReference: type: string pattern: ^.+$ description: Information to print on the bank statement. TrackData: type: object description: >- 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. Magnetic track or magnetic ink characters line. properties: TrackNumb: type: integer minimum: 1 maximum: 3 default: 2 TrackFormat: $ref: '#/components/schemas/TrackFormat' TrackValue: type: string pattern: ^.{1,104}$ 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 CardSeqNumb: type: integer minimum: 2 maximum: 3 description: if EntryMode is File, Keyed or Manual. ExpiryDate: type: integer minimum: 4 maximum: 4 description: if EntryMode is File. TrackData: type: array items: $ref: '#/components/schemas/TrackData' PaymentToken: type: object 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. properties: TokenRequestedType: $ref: '#/components/schemas/TokenRequestedType' TokenValue: type: string pattern: ^.+$ 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: ^.+$ OpenOrderState: type: boolean default: true 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 CurrentAmount: type: number maximum: 99999999.999999 minimum: 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: ^.+$ 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: >- Allows acquisition of the card data by the Sale System before the Payment, CardAcquisition or BalanceInquiry request to the POI. It could also be sent in the CardAcquisition response, to be processed by the Sale System. Information related to the payment card used for the transaction. properties: PaymentBrand: type: string pattern: ^.+$ description: If card PAN is readable . MaskedPan: type: string pattern: ^.+$ PaymentAccountRef: type: string pattern: ^.+$ EntryMode: $ref: '#/components/schemas/EntryMode' CardCountryCode: type: integer minimum: 3 maximum: 3 description: If available in the card. ProtectedCardData: type: string description: SensitiveCardData protected by CMS EnvelopedData. SensitiveCardData: $ref: '#/components/schemas/SensitiveCardData' AllowedProductCode: type: array items: type: integer minimum: 1 maximum: 20 AllowedProduct: type: array items: $ref: '#/components/schemas/AllowedProduct' PaymentToken: $ref: '#/components/schemas/PaymentToken' CustomerOrder: type: array items: $ref: '#/components/schemas/CustomerOrder' TransactionIDType: type: object description: Identification of a transaction for the Sale System or the POI System. properties: TransactionID: type: string pattern: ^.+$ TimeStamp: type: string format: date-time required: - TransactionID - TimeStamp SaleTerminalData: type: object description: >- In the Login Request, if a Sale Terminal is involved in the login. In other messages, when a logical device is out of order (SaleCapabilites), or when the other data have changed since or were not in the Login. Information related to the software and hardware feature of the Sale Terminal. properties: TotalsGroupID: type: string pattern: ^.{1,16}$ description: If present, default value for all transaction. SaleData: type: object description: >- Data associated to the Sale System, with a particular value during the processing of the payment by the POI, including the cards acquisition. Data related to the Sale System. properties: OperatorID: type: string pattern: ^.+$ OperatorLanguage: type: string pattern: ^[a-z]{2,2}$ description: if different from the Login. ShiftNumber: type: string pattern: ^.+$ description: if different from the Login and see Login .SaleData. SaleTransactionID: $ref: '#/components/schemas/TransactionIDType' SaleReferenceID: type: string pattern: ^.+$ description: If payment reservation. SaleTerminalData: $ref: '#/components/schemas/SaleTerminalData' TokenRequestedType: $ref: '#/components/schemas/TokenRequestedType' CustomerOrderID: type: string pattern: ^.+$ description: Additional and optional identification of a customer order. CustomerOrderReq: $ref: '#/components/schemas/CustomerOrderReq' SaleToPOIData: type: string pattern: ^.+$ description: Stored with the transaction. SaleToAcquirerData: type: string pattern: ^.+$ description: Send to the Acquirer if present. SaleToIssuerData: $ref: '#/components/schemas/SaleToIssuerData' required: - SaleTransactionID POIData: type: object description: >- In the Message Response, identification of the POI transaction. Data related to the POI System. properties: POITransactionID: $ref: '#/components/schemas/TransactionIDType' POIReconciliationID: type: integer description: 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: ^.+$ ApplicationName: type: string pattern: ^.+$ SoftwareVersion: type: string pattern: ^.+$ CertificationCode: type: string pattern: ^.+$ 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 description: Value of a coin or bill. Number: type: integer description: Number of elements. 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' 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' SecurityOKFlag: type: boolean description: If security module present. PEDOKFlag: type: boolean description: If PED present. CardReaderOKFlag: type: boolean description: If card reader device present. PrinterStatus: $ref: '#/components/schemas/PrinterStatus' CommunicationOKFlag: type: boolean description: If communication infrastructure present. CashHandlingDevice: type: array items: $ref: '#/components/schemas/CashHandlingDevice' FraudPreventionFlag: type: boolean description: default False. required: - GlobalStatus Response: type: object description: >- 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. Result of a message request processing. properties: Result: $ref: '#/components/schemas/Result' ErrorCondition: $ref: '#/components/schemas/ErrorCondition' AdditionalResponse: type: string pattern: ^.+$ description: If present, the POI logs it for further examination. required: - Result POISoftware: type: object properties: ManufacturerID: type: string pattern: ^.+$ ApplicationName: type: string pattern: ^.+$ SoftwareVersion: type: string pattern: ^.+$ CertificationCode: type: string pattern: ^.+$ required: - ManufacturerID - ApplicationName - SoftwareVersion - CertificationCode POIProfile: type: object properties: GenericProfile: $ref: '#/components/schemas/GenericProfile' ServiceProfiles: $ref: '#/components/schemas/ServiceProfiles' POITerminalData: type: object properties: TerminalEnvironment: $ref: '#/components/schemas/TerminalEnvironment' POICapabilities: $ref: '#/components/schemas/POICapabilities' POIProfile: $ref: '#/components/schemas/POIProfile' POISerialNumber: type: string pattern: ^.+$ required: - TerminalEnvironment - POICapabilities - POISerialNumber POISystemData: type: object properties: DateTime: type: string format: date-time POISoftware: $ref: '#/components/schemas/POISoftware' POITerminalData: $ref: '#/components/schemas/POITerminalData' POIStatus: $ref: '#/components/schemas/POIStatus' required: - DateTime - POISoftware OutputText: type: object description: >- 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. Content of text message to display or print. properties: Text: type: string CharacterSet: type: integer Font: type: string pattern: ^.+$ StartRow: type: integer minimum: 1 maximum: 500 StartColumn: type: integer minimum: 1 maximum: 500 Color: $ref: '#/components/schemas/Color' CharacterWidth: $ref: '#/components/schemas/CharacterWidth' CharacterHeight: $ref: '#/components/schemas/CharacterHeight' CharacterStyle: $ref: '#/components/schemas/CharacterStyle' Alignment: $ref: '#/components/schemas/Alignment' EndOfLineFlag: type: boolean default: true required: - Text PredefinedContent: type: object description: >- It conveys Information related to the predefined message. Reference of a predefined message to display or print. 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' BarcodeValue: type: string pattern: ^.+$ required: - BarcodeValue OutputContent: type: object description: >- This is a sequence of elements if they have different formats. Content to display or print. properties: OutputFormat: $ref: '#/components/schemas/OutputFormat' PredefinedContent: $ref: '#/components/schemas/PredefinedContent' OutputText: type: array items: $ref: '#/components/schemas/OutputText' OutputXHTML: type: string format: byte pattern: ^.{0,262144}$ description: Mandatory, if OutputFormat is XHTML, not allowed otherwise. OutputBarcode: $ref: '#/components/schemas/OutputBarcode' required: - OutputFormat MenuEntry: type: object description: >- 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 entryof the menu. An entryof the menu to present to the Cashier. properties: MenuEntryTag: $ref: '#/components/schemas/MenuEntryTag' DefaultSelectedFlag: type: boolean default: false OutputFormat: $ref: '#/components/schemas/OutputFormat' PredefinedContent: $ref: '#/components/schemas/PredefinedContent' OutputText: type: array items: $ref: '#/components/schemas/OutputText' OutputXHTML: type: string format: byte pattern: ^.+$ required: - OutputFormat DisplayOutput: type: object description: >- 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. Information to display and the way to process the display. properties: ResponseRequiredFlag: type: boolean default: true description: Request of a message response. MinimumDisplayTime: type: integer minimum: 0 maximum: 999 default: 0 description: Number of seconds the message has to be displayed. Device: $ref: '#/components/schemas/Device' InfoQualify: $ref: '#/components/schemas/InfoQualify' OutputContent: $ref: '#/components/schemas/OutputContent' MenuEntry: type: array items: $ref: '#/components/schemas/MenuEntry' OutputSignature: type: string format: byte pattern: ^.+$ description: >- If protection has to be provided to the vendor on the text to display or print. required: - Device - InfoQualify - OutputContent SaleItem: type: object description: >- In loyalty or value added payment card transaction, the items of the sale are entering in the processing of the transaction. Sale items of a 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: >- If data sent, POI has to store it and send it if the host protocol allows it. UnitOfMeasure: $ref: '#/components/schemas/UnitOfMeasure' Quantity: type: string description: >- If data sent, POI has to store it and send it if the host protocol allows it. UnitPrice: type: number maximum: 99999999.999999 minimum: 0 description: if Quantity present. ItemAmount: type: number maximum: 99999999.999999 minimum: 0 description: Total amount of the item line. TaxCode: type: integer description: >- If data sent, POI has to store it and send it if the host protocol allows it. SaleChannel: type: integer description: >- If data sent, POI has to store it and send it if the host protocol allows it. ProductLabel: type: string pattern: ^.+$ AdditionalProductInfo: type: string pattern: ^.+$ description: >- 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: >- An awarded amount or an amount to redeem to the loyalty account might be sent in the Payment request message. Amount of a loyalty account. properties: LoyaltyUnit: $ref: '#/components/schemas/LoyaltyUnit' Currency: type: string pattern: ^[A-Z]{3,3}$ AmountValue: type: number maximum: 99999999.999999 minimum: 0 required: - AmountValue LoyaltyAccountID: type: object description: >- 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). Identification of a Loyalty account. properties: EntryMode: $ref: '#/components/schemas/EntryMode' IdentificationType: $ref: '#/components/schemas/IdentificationType' IdentificationSupport: $ref: '#/components/schemas/IdentificationSupport' LoyaltyID: type: string 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' LoyaltyAccountID: $ref: '#/components/schemas/LoyaltyAccountID' LoyaltyAmount: $ref: '#/components/schemas/LoyaltyAmount' CheckData: type: object description: >- 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. Information related to the paper check used for the transaction. properties: BankID: type: string pattern: ^.+$ description: Mandatory if TrackData absent. AccountNumber: type: string pattern: ^.+$ description: Mandatory if TrackData absent. CheckNumber: type: string pattern: ^.+$ description: Mandatory if TrackData absent. TrackData: $ref: '#/components/schemas/TrackData' CheckCardNumber: type: string pattern: ^.+$ description: If provided by the customer. TypeCode: $ref: '#/components/schemas/TypeCode' Country: type: string pattern: ^[A-Z]{3,3}$ description: Absent if country of the Sale system. SensitiveMobileData: type: object properties: MSISDN: type: integer ISMI: type: integer IMEI: type: integer required: - MSISDN UTMCoordinates: type: object properties: UTMZone: type: string pattern: ^.+$ UTMEastward: type: string pattern: ^.+$ UTMNorthward: type: string pattern: ^.+$ required: - UTMZone - UTMEastward - UTMNorthward GeographicCoordinates: type: object properties: Latitude: type: string pattern: ^.+$ Longitude: type: string pattern: ^.+$ 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: If data available. MobileNetworkCode: type: integer minimum: 2 maximum: 3 description: If data available. MaskedMSISDN: type: integer description: If data available. Geolocation: $ref: '#/components/schemas/Geolocation' ProtectedMobileData: type: string description: SensitiveMobileData. SensitiveMobileData: $ref: '#/components/schemas/SensitiveMobileData' Instalment: type: object properties: InstalmentType: $ref: '#/components/schemas/InstalmentType' SequenceNumber: type: integer PlanID: type: string pattern: ^.+$ Period: type: integer PeriodUnit: $ref: '#/components/schemas/PeriodUnit' FirstPaymentDate: type: string format: date TotalNbOfPayments: type: integer CumulativeAmount: type: number maximum: 99999999.999999 minimum: 0 FirstAmount: type: number maximum: 99999999.999999 minimum: 0 Charges: type: number maximum: 99999999.999999 minimum: 0 StoredValueAccountID: type: object description: >- It contains the identifications of the stored value account or the stored value card, and the associated product sold by the Sale System for stored value requests. Identification of the stored value account or the stored value card. properties: StoredValueAccountType: $ref: '#/components/schemas/StoredValueAccountType' StoredValueProvider: type: string pattern: ^.+$ OwnerName: type: string pattern: ^.+$ ExpiryDate: type: integer minimum: 4 maximum: 4 EntryMode: $ref: '#/components/schemas/EntryMode' IdentificationType: $ref: '#/components/schemas/IdentificationType' StoredValueID: type: string pattern: ^.+$ required: - StoredValueAccountType - EntryMode - IdentificationType - StoredValueID PaymentInstrumentData: type: object description: >- 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. Data related to the instrument of payment for the transaction. properties: PaymentInstrumentType: $ref: '#/components/schemas/PaymentInstrumentType' ProtectedCardData: type: string CardData: $ref: '#/components/schemas/CardData' CheckData: $ref: '#/components/schemas/CheckData' MobileData: $ref: '#/components/schemas/MobileData' StoredValueAccountID: $ref: '#/components/schemas/StoredValueAccountID' required: - PaymentInstrumentType OriginalPOITransaction: type: object description: >- In the Payment or the Loyalty Request message, it allows using the card of a previous CardAcquisition or Payment/Loyalty request. Identification of a previous POI transaction. properties: 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: If original transaction is coming from another POI. POITransactionID: $ref: '#/components/schemas/TransactionIDType' ReuseCardDataFlag: type: boolean default: true description: Indicate if the card data has to be got from a previous transaction. ApprovalCode: type: string pattern: ^.+$ description: If referral. CustomerLanguage: type: string pattern: ^[a-z]{2,2}$ description: >- If the language is selected by the Sale System before the request to the POI. AcquirerID: type: integer description: Restrict to these Acquirer if present. AmountValue: type: number maximum: 99999999.999999 minimum: 0 HostTransactionID: $ref: '#/components/schemas/TransactionIDType' TransactionConditions: type: object description: Conditions on which the transaction must be processed. properties: AllowedPaymentBrand: type: array items: type: string pattern: ^.+$ description: Restrict brand if data sent. AcquirerID: type: array items: type: integer description: Restrict to these Acquirer if present. DebitPreferredFlag: type: boolean description: >- The preferred type of payment is a debit transaction rather a credit transaction. AllowedLoyaltyBrand: type: array items: type: string pattern: ^.+$ description: Restrict brand if data sent. LoyaltyHandling: $ref: '#/components/schemas/LoyaltyHandling' CustomerLanguage: type: string pattern: ^[a-z]{2,2}$ description: >- If the language is selected by the Sale System before the request to the POI. ForceOnlineFlag: type: boolean default: false description: Go online if data sent. ForceEntryMode: $ref: '#/components/schemas/ForceEntryMode' MerchantCategoryCode: type: string pattern: ^.{3,4}$ description: The payment implies a specific MCC. PaymentData: type: object properties: PaymentType: $ref: '#/components/schemas/PaymentType' SplitPaymentFlag: type: boolean default: false RequestedValidityDate: type: string format: date CardAcquisitionReference: $ref: '#/components/schemas/TransactionIDType' Instalment: $ref: '#/components/schemas/Instalment' CustomerOrder: $ref: '#/components/schemas/CustomerOrder' PaymentInstrumentData: $ref: '#/components/schemas/PaymentInstrumentData' AmountsReq: type: object description: Amounts of a payment properties: Currency: type: string pattern: ^[A-Z]{3,3}$ RequestedAmount: type: number maximum: 99999999.999999 minimum: 0 CashBackAmount: type: number maximum: 99999999.999999 minimum: 0 TipAmount: type: number maximum: 99999999.999999 minimum: 0 PaidAmount: type: number maximum: 99999999.999999 minimum: 0 MinimumAmountToDeliver: type: number maximum: 99999999.999999 minimum: 0 MaximumCashBackAmount: type: number maximum: 99999999.999999 minimum: 0 MinimumSplitAmount: type: number maximum: 99999999.999999 minimum: 0 required: - Currency - RequestedAmount PaymentTransaction: type: object properties: AmountsReq: $ref: '#/components/schemas/AmountsReq' OriginalPOITransaction: $ref: '#/components/schemas/OriginalPOITransaction' TransactionConditions: $ref: '#/components/schemas/TransactionConditions' SaleItem: type: array items: $ref: '#/components/schemas/SaleItem' required: - AmountsReq ConvertedAmount: type: object properties: AmountValue: type: number maximum: 99999999.999999 minimum: 0 Currency: type: string pattern: ^[A-Z]{3,3}$ required: - AmountValue - Currency CurrencyConversion: type: object description: >- 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). Information related to a currency conversion. 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' 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 description: Commission for a currency conversion. Declaration: type: string pattern: ^.+$ description: If a declaration has to be presented to the customer. required: - ConvertedAmount Point: type: object properties: X: type: string 'Y': type: string 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 UnitOfMeasure: $ref: '#/components/schemas/UnitOfMeasure' Quantity: type: string description: if rebate is additional units. ItemAmount: type: number maximum: 99999999.999999 minimum: 0 description: if rebate on the line item amount. RebateLabel: type: string pattern: ^.+$ description: 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' LoyaltyBrand: type: string pattern: ^.+$ description: If a card is analysed. required: - LoyaltyAccountID LoyaltyAcquirerData: type: object properties: LoyaltyAcquirerID: type: string pattern: ^.+$ ApprovalCode: type: string pattern: ^.+$ LoyaltyTransactionID: $ref: '#/components/schemas/TransactionIDType' HostReconciliationID: type: string pattern: ^.+$ Rebates: type: object properties: TotalRebate: type: number maximum: 99999999.999999 minimum: 0 RebateLabel: type: string pattern: ^.+$ SaleItemRebate: type: array items: $ref: '#/components/schemas/SaleItemRebate' LoyaltyResult: type: object description: >- In the Message Response, the result of each loyalty brand transaction. Data related to the result of a processed loyalty transaction. properties: LoyaltyAccount: $ref: '#/components/schemas/LoyaltyAccount' CurrentBalance: type: number maximum: 99999999.999999 minimum: 0 description: if known (provided by the card or an external host). LoyaltyAmount: $ref: '#/components/schemas/LoyaltyAmount' LoyaltyAcquirerData: $ref: '#/components/schemas/LoyaltyAcquirerData' Rebates: $ref: '#/components/schemas/Rebates' required: - LoyaltyAccount PaymentReceipt: type: object description: >- If the payment receipts are printed by the Sale system and the POI or the Sale does not implement the Print exchange (Basic profile). Customer or Merchant payment receipt. properties: DocumentQualifier: $ref: '#/components/schemas/DocumentQualifier' 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' required: - DocumentQualifier - OutputContent PaymentAcquirerData: type: object description: Data related to the response from the payment Acquirer. properties: AcquirerID: type: integer description: If several Acquirers. 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' ApprovalCode: type: string pattern: ^.+$ description: If available. HostReconciliationID: type: string pattern: ^.+$ required: - MerchantID - AcquirerPOIID AreaSize: type: object properties: X: type: string 'Y': type: string required: - X - 'Y' CapturedSignature: type: object properties: AreaSize: $ref: '#/components/schemas/AreaSize' SignaturePoint: type: array items: $ref: '#/components/schemas/Point' AmountsResp: type: object properties: Currency: type: string pattern: ^[A-Z]{3,3}$ AuthorizedAmount: type: number maximum: 99999999.999999 minimum: 0 TotalRebatesAmount: type: number maximum: 99999999.999999 minimum: 0 TotalFeesAmount: type: number maximum: 99999999.999999 minimum: 0 CashBackAmount: type: number maximum: 99999999.999999 minimum: 0 TipAmount: type: number maximum: 99999999.999999 minimum: 0 required: - AuthorizedAmount PaymentResult: type: object properties: PaymentType: $ref: '#/components/schemas/PaymentType' PaymentInstrumentData: $ref: '#/components/schemas/PaymentInstrumentData' AmountsResp: $ref: '#/components/schemas/AmountsResp' Instalment: $ref: '#/components/schemas/Instalment' CurrencyConversion: type: array items: $ref: '#/components/schemas/CurrencyConversion' MerchantOverrideFlag: type: boolean default: false CapturedSignature: $ref: '#/components/schemas/CapturedSignature' ProtectedSignature: type: string CustomerLanguage: type: string pattern: ^[a-z]{2,2}$ OnlineFlag: type: boolean default: true AuthenticationMethod: $ref: '#/components/schemas/AuthenticationMethod' ValidityDate: type: string format: date PaymentAcquirerData: $ref: '#/components/schemas/PaymentAcquirerData' CardAcquisitionTransaction: type: object properties: AllowedPaymentBrand: type: array items: type: string pattern: ^.+$ AllowedLoyaltyBrand: type: array items: type: string pattern: ^.+$ LoyaltyHandling: $ref: '#/components/schemas/LoyaltyHandling' CustomerLanguage: type: string pattern: ^[a-z]{2,2}$ ForceEntryMode: $ref: '#/components/schemas/ForceEntryMode' ForceCustomerSelectionFlag: type: boolean TotalAmount: type: number maximum: 99999999.999999 minimum: 0 PaymentType: $ref: '#/components/schemas/PaymentType' CashBackFlag: type: boolean LoyaltyTransaction: type: object properties: LoyaltyTransactionType: $ref: '#/components/schemas/LoyaltyTransactionType' Currency: type: string pattern: ^[A-Z]{3,3}$ TotalAmount: type: number maximum: 99999999.999999 minimum: 0 OriginalPOITransaction: $ref: '#/components/schemas/OriginalPOITransaction' TransactionConditions: $ref: '#/components/schemas/TransactionConditions' SaleItem: type: array items: $ref: '#/components/schemas/SaleItem' 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: >- If more than one provider to manage on the POI, and StoredValueAccountID absent. StoredValueTransactionType: $ref: '#/components/schemas/StoredValueTransactionType' StoredValueAccountID: $ref: '#/components/schemas/StoredValueAccountID' OriginalPOITransaction: $ref: '#/components/schemas/OriginalPOITransaction' 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 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 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' ProductCode: type: integer minimum: 1 maximum: 20 description: Copy. EanUpc: type: integer description: Copy. ItemAmount: type: number maximum: 99999999.999999 minimum: 0 description: Total amount of the item line. Currency: type: string pattern: ^[A-Z]{3,3}$ description: Copy. StoredValueAccountStatus: $ref: '#/components/schemas/StoredValueAccountStatus' HostTransactionID: $ref: '#/components/schemas/TransactionIDType' 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 required: - Response PaymentTotals: type: object description: Totals of the payment transaction during the reconciliation period. properties: TransactionType: $ref: '#/components/schemas/TransactionType' TransactionCount: type: integer description: Number of processed transaction during the period. TransactionAmount: type: number maximum: 99999999.999999 minimum: 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' TransactionCount: type: integer description: Number of processed transaction during the period. TransactionAmount: type: number maximum: 99999999.999999 minimum: 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' AcquirerID: type: integer description: If available. HostReconciliationID: type: string pattern: ^.+$ description: If available. CardBrand: type: string pattern: ^.+$ description: >- If configured to present totals per card brand, and Response.Result is Success. POIID: type: string pattern: ^.+$ description: If requested in the message request. SaleID: type: string pattern: ^.+$ description: If requested in the message request. OperatorID: type: string pattern: ^.+$ description: If requested in the message request. ShiftNumber: type: string pattern: ^.+$ description: If requested in the message request. TotalsGroupID: type: string pattern: ^.{1,16}$ description: 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' LoyaltyUnit: $ref: '#/components/schemas/LoyaltyUnit' LoyaltyCurrency: type: string pattern: ^[A-Z]{3,3}$ description: If LoyaltyUnit is Monetary. LoyaltyTotals: type: array items: $ref: '#/components/schemas/LoyaltyTotals' required: - PaymentInstrumentType TotalFilter: type: object properties: POIID: type: string pattern: ^.+$ SaleID: type: string pattern: ^.+$ OperatorID: type: string pattern: ^.+$ ShiftNumber: type: string pattern: ^.+$ TotalsGroupID: type: string pattern: ^.{1,16}$ PaymentAccountReq: type: object properties: AccountType: $ref: '#/components/schemas/AccountType' 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 Currency: type: string pattern: ^[A-Z]{3,3}$ PaymentAcquirerData: $ref: '#/components/schemas/PaymentAcquirerData' LoyaltyAccountStatus: type: object properties: LoyaltyAccount: $ref: '#/components/schemas/LoyaltyAccount' CurrentBalance: type: number maximum: 99999999.999999 minimum: 0 LoyaltyUnit: $ref: '#/components/schemas/LoyaltyUnit' Currency: type: string pattern: ^[A-Z]{3,3}$ required: - LoyaltyAccount MessageReference: type: object description: >- 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. Identification of a previous POI transaction. properties: MessageCategory: $ref: '#/components/schemas/MessageCategory' 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: default MessageHeader.SaleID. POIID: type: string pattern: ^.+$ description: default MessageHeader.POIID. MessageHeader: type: object description: >- It conveys Information related to the Sale to POI protocol management. Message header of the Sale to POI protocol message. properties: ProtocolVersion: type: string pattern: ^.+$ description: If MessageCategory is Login or Diagnosis. MessageClass: $ref: '#/components/schemas/MessageClass' MessageCategory: $ref: '#/components/schemas/MessageCategory' MessageType: $ref: '#/components/schemas/MessageType' ServiceID: type: string pattern: ^.{1,10}$ description: >- 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: 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' InfoQualify: $ref: '#/components/schemas/InfoQualify' Response: $ref: '#/components/schemas/Response' required: - Device - InfoQualify - Response InputData: type: object properties: Device: $ref: '#/components/schemas/Device' InfoQualify: $ref: '#/components/schemas/InfoQualify' InputCommand: $ref: '#/components/schemas/InputCommand' NotifyCardInputFlag: type: boolean default: false MaxInputTime: type: integer ImmediateResponseFlag: type: boolean default: false MinLength: type: integer MaxLength: type: integer MaxDecimalLength: type: integer WaitUserValidationFlag: type: boolean default: true DefaultInputString: type: string pattern: ^.+$ DefaultLayoutString: type: string pattern: ^.+$ StringMask: type: string pattern: ^.+$ FromRightToLeftFlag: type: boolean default: false MaskCharactersFlag: type: boolean default: false BeepKeyFlag: type: boolean default: false GlobalCorrectionFlag: type: boolean default: false DisableCancelFlag: type: boolean default: false DisableCorrectFlag: type: boolean default: false DisableValidFlag: type: boolean default: false MenuBackFlag: type: boolean default: false required: - Device - InfoQualify - InputCommand Input: type: object properties: InputCommand: $ref: '#/components/schemas/InputCommand' ConfirmedFlag: type: boolean FunctionKey: type: integer TextInput: type: string DigitInput: type: integer Password: type: string MenuEntryNumber: type: array items: type: integer required: - InputCommand InputResult: type: object properties: Device: $ref: '#/components/schemas/Device' InfoQualify: $ref: '#/components/schemas/InfoQualify' Response: $ref: '#/components/schemas/Response' Input: $ref: '#/components/schemas/Input' required: - Device - InfoQualify - Response PrintOutput: type: object properties: DocumentQualifier: $ref: '#/components/schemas/DocumentQualifier' ResponseMode: $ref: '#/components/schemas/ResponseMode' IntegratedPrintFlag: type: boolean default: false RequiredSignatureFlag: type: boolean default: false OutputContent: $ref: '#/components/schemas/OutputContent' required: - DocumentQualifier - ResponseMode - OutputContent SoundContent: type: object properties: SoundFormat: $ref: '#/components/schemas/SoundFormat' 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' 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 Login Request message. properties: DateTime: type: string format: date-time description: Date and Time. SaleSoftware: $ref: '#/components/schemas/SaleSoftware' SaleTerminalData: $ref: '#/components/schemas/SaleTerminalData' TrainingModeFlag: type: boolean default: false description: The POI does not realise the transaction with the Acquirer. OperatorLanguage: type: string pattern: ^[a-z]{2,2}$ description: Default value for Device type displays. OperatorID: type: string pattern: ^.+$ description: >- 4 conditions to send it: a) the Sale System wants the POI log it in the transaction log b) because of reconciliation. ShiftNumber: type: string pattern: ^.+$ description: Same as OperatorID. TokenRequestedType: $ref: '#/components/schemas/TokenRequestedType' CustomerOrderReq: $ref: '#/components/schemas/CustomerOrderReq' POISerialNumber: type: string pattern: ^.+$ description: >- 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 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' ServicesEnabled: $ref: '#/components/schemas/ServicesEnabled' DisplayOutput: $ref: '#/components/schemas/DisplayOutput' 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 Payment Request message. properties: SaleData: $ref: '#/components/schemas/SaleData' PaymentTransaction: $ref: '#/components/schemas/PaymentTransaction' PaymentData: $ref: '#/components/schemas/PaymentData' LoyaltyData: type: array items: $ref: '#/components/schemas/LoyaltyData' 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' CardAcquisitionTransaction: $ref: '#/components/schemas/CardAcquisitionTransaction' 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' LoyaltyTransaction: $ref: '#/components/schemas/LoyaltyTransaction' LoyaltyData: $ref: '#/components/schemas/LoyaltyData' 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' CustomerLanguage: type: string pattern: ^[a-z]{2,2}$ description: >- If the language is selected by the Sale System before the request to the POI. StoredValueData: type: array items: $ref: '#/components/schemas/StoredValueData' 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' ReversedAmount: type: number maximum: 99999999.999999 minimum: 0 description: ReversedAmount is implicitely the AuthorizedAmount if absent. ReversalReason: $ref: '#/components/schemas/ReversalReason' CustomerOrder: $ref: '#/components/schemas/CustomerOrder' required: - OriginalPOITransaction - ReversalReason ReconciliationRequest: type: object description: >- It conveys Information related to the Reconciliation requested by the Sale System. Content of the Reconciliation Request message. properties: ReconciliationType: $ref: '#/components/schemas/ReconciliationType' AcquirerID: type: array items: type: integer description: >- Could be present only if ReconciliationType is AcquirerReconciliation or AcquirerSynchronisation. POIReconciliationID: type: integer description: 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' TotalFilter: $ref: '#/components/schemas/TotalFilter' 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' LoyaltyAccountReq: $ref: '#/components/schemas/LoyaltyAccountReq' TransactionStatusRequest: type: object description: >- It conveys Information requested for status of the last or current Payment, Loyalty or Reversal transaction. Content of the TransactionStatus Request message. properties: MessageReference: $ref: '#/components/schemas/MessageReference' ReceiptReprintFlag: type: boolean default: false description: Request to reprint the POI receipt(s). DocumentQualifier: type: array items: $ref: '#/components/schemas/DocumentQualifier' AbortRequest: type: object description: >- 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). Body of the Abort Request message. properties: MessageReference: $ref: '#/components/schemas/MessageReference' AbortReason: type: string pattern: ^.+$ description: Reason of aborting a transaction. DisplayOutput: $ref: '#/components/schemas/DisplayOutput' required: - MessageReference - AbortReason EventNotification: type: object description: >- It conveys Information related to the event, and possible action (maintenance, message to display). Content of the EventNotification message. 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' EventDetails: type: string pattern: ^.+$ description: If present, the Sale logs it for further examination. RejectedMessage: type: string format: byte pattern: ^.+$ description: 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. CustomerLanguage: type: string pattern: ^[a-z]{2,2}$ description: >- If the language is selected by the Sale System before the request to the POI. DisplayOutput: type: array items: $ref: '#/components/schemas/DisplayOutput' 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: MessageHeader.POIID. HostDiagnosisFlag: type: boolean default: false description: Indicates if Host Diagnosis are required. AcquirerID: type: array items: type: integer description: 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' required: - DisplayOutput InputRequest: type: object description: >- It conveys data to display and the way to process the display, and contains the complete content to display. In addition to the display on the Input Device, it might contain an operation (the DisplayOutput element) per Display Device type. Content of the Input Request message. properties: DisplayOutput: $ref: '#/components/schemas/DisplayOutput' InputData: $ref: '#/components/schemas/InputData' required: - InputData InputUpdate: type: object description: "Definition: Content of the Input Update message. : It conveys \t\t\t\tupdate 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: >- It conveys the data to print and the way to process the print. It contains the complete content to print. Content of the Print Request message. properties: PrintOutput: $ref: '#/components/schemas/PrintOutput' 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). 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' POISystemData: $ref: '#/components/schemas/POISystemData' TokenRequestStatus: type: boolean CustomerOrderStatus: type: boolean 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' 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' 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' 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' SaleData: $ref: '#/components/schemas/SaleData' POIData: $ref: '#/components/schemas/POIData' PaymentResult: $ref: '#/components/schemas/PaymentResult' LoyaltyResult: type: array items: $ref: '#/components/schemas/LoyaltyResult' PaymentReceipt: type: array items: $ref: '#/components/schemas/PaymentReceipt' 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' SaleData: $ref: '#/components/schemas/SaleData' POIData: $ref: '#/components/schemas/POIData' CustomerLanguage: type: string pattern: ^[a-z]{2,2}$ description: Data related to the POI System. PaymentBrand: type: array items: type: string pattern: ^.+$ description: >- Brands available for payment by the card and not chosen by the Customer. PaymentInstrumentData: $ref: '#/components/schemas/PaymentInstrumentData' LoyaltyAccount: type: array items: $ref: '#/components/schemas/LoyaltyAccount' 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' SaleData: $ref: '#/components/schemas/SaleData' POIData: $ref: '#/components/schemas/POIData' LoyaltyResult: type: array items: $ref: '#/components/schemas/LoyaltyResult' 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' SaleData: $ref: '#/components/schemas/SaleData' POIData: $ref: '#/components/schemas/POIData' StoredValueResult: type: array items: $ref: '#/components/schemas/StoredValueResult' 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' POIData: $ref: '#/components/schemas/POIData' OriginalPOITransaction: $ref: '#/components/schemas/OriginalPOITransaction' ReversedAmount: type: number maximum: 99999999.999999 minimum: 0 description: 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' ReconciliationType: $ref: '#/components/schemas/ReconciliationType' POIReconciliationID: type: integer description: Absent if ReconciliationType is AcquirerReconciliation. TransactionTotals: type: array items: $ref: '#/components/schemas/TransactionTotals' required: - Response - ReconciliationType GetTotalsResponse: 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' POIReconciliationID: type: integer description: Identification of the reconciliation period between Sale and POI. TransactionTotals: type: array items: $ref: '#/components/schemas/TransactionTotals' required: - Response - POIReconciliationID BalanceInquiryResponse: type: object description: >- It conveys the balance and the identification of the associated payment, loyalty or stored value account. Content of the Balance Inquiry Response message. properties: Response: $ref: '#/components/schemas/Response' PaymentAccountStatus: $ref: '#/components/schemas/PaymentAccountStatus' LoyaltyAccountStatus: $ref: '#/components/schemas/LoyaltyAccountStatus' PaymentReceipt: type: array items: $ref: '#/components/schemas/PaymentReceipt' required: - Response CardReaderAPDUResponse: type: object description: >- It contains the result of the requested service, APDU response sent by the chip of the card in response to the APDU request. Content of the Card Reader APDU Response message. properties: Response: $ref: '#/components/schemas/Response' 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: >- It conveys Information related to the status of the last or current Payment, Loyalty or Reversal transaction. Content of the TransactionStatus Response message. properties: Response: $ref: '#/components/schemas/Response' MessageReference: $ref: '#/components/schemas/MessageReference' RepeatedMessageResponse: $ref: '#/components/schemas/RepeatedMessageResponse' required: - Response 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' LoggedSaleID: type: array items: type: string pattern: ^.+$ description: If Sale Terminal logged to this POI Terminal. POIStatus: $ref: '#/components/schemas/POIStatus' HostStatus: type: array items: $ref: '#/components/schemas/HostStatus' 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' 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' InputResult: $ref: '#/components/schemas/InputResult' 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' Response: $ref: '#/components/schemas/Response' required: - DocumentQualifier - Response securitySchemes: ApiKeyAuth: in: header name: X-API-Key type: apiKey BasicAuth: scheme: basic type: http tags: - name: Admin - name: Balanceinquiry - name: Cardacquisition - name: Cardreaderapdu - name: Diagnosis - name: Display - name: Enableservice - name: Gettotals - name: Input - name: Login - name: Logout - name: Loyalty - name: Payment - name: Print - name: Reconciliation - name: Reversal - name: Storedvalue - name: Transactionstatus