diff --git a/Makefile b/Makefile
index 396537ec7..8b48f824b 100644
--- a/Makefile
+++ b/Makefile
@@ -5,7 +5,7 @@ openapi-generator-cli:=java -jar $(openapi-generator-jar)
generator:=java
library:=jersey3
-modelGen:=terminal acswebhooks balancecontrol balanceplatform binlookup checkout dataprotection legalentitymanagement management payment payout posterminalmanagement recurring transfers storedvalue configurationwebhooks reportwebhooks transferwebhooks managementwebhooks disputes transactionwebhooks
+modelGen:=acswebhooks balancecontrol balanceplatform binlookup checkout dataprotection legalentitymanagement management payment payout posterminalmanagement recurring transfers storedvalue configurationwebhooks reportwebhooks transferwebhooks managementwebhooks disputes transactionwebhooks
models:=src/main/java/com/adyen/model
output:=target/out
@@ -53,8 +53,6 @@ managementwebhooks: spec=ManagementNotificationService-v3
# Disputes
disputes: spec=DisputeService-v30
disputes: smallServiceName=DisputesApi
-# Terminal API
-terminal: spec=TerminalAPI-v1
$(modelGen): target/spec $(openapi-generator-jar)
rm -rf $(models)/$@ $(output)
diff --git a/README.md b/README.md
index 515711ad5..739b87f32 100644
--- a/README.md
+++ b/README.md
@@ -292,18 +292,10 @@ In order to submit In-Person requests with [Terminal API over Cloud](https://doc
// Step 1: Import the required classes
import com.adyen.Client;
import com.adyen.enums.Environment;
-import com.adyen.model.applicationinfo.ApplicationInfo;
-import com.adyen.model.applicationinfo.CommonField;
import com.adyen.service.TerminalCloudAPI;
-import com.adyen.terminal.SaleToAcquirerData;
-import com.adyen.terminal.SaleToPOIRequest;
-import com.adyen.terminal.TerminalAPIRequest;
-import com.adyen.terminal.TerminalAPIResponse;
+import com.adyen.model.nexo.*;
import com.adyen.model.terminal.*;
-import java.math.BigDecimal;
-import java.time.OffsetDateTime;
-
// Step 2: Initialize the client object
Client client = new Client("Your YOUR_API_KEY", Environment.TEST);
@@ -321,21 +313,21 @@ TerminalAPIRequest terminalAPIRequest = new TerminalAPIRequest();
SaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest();
MessageHeader messageHeader = new MessageHeader();
-messageHeader.setMessageClass(MessageClass.SERVICE);
-messageHeader.setMessageCategory(MessageCategory.PAYMENT);
+messageHeader.setMessageClass(MessageClassType.SERVICE);
+messageHeader.setMessageCategory(MessageCategoryType.PAYMENT);
messageHeader.setMessageType(MessageType.REQUEST);
messageHeader.setProtocolVersion("3.0");
messageHeader.setServiceID(serviceID);
-messageHeader.setSaleID(saleID);
-messageHeader.setPOIID(POIID);
+messageHeader.setSaleID(saleID);
+messageHeader.setPOIID(POIID);
saleToPOIRequest.setMessageHeader(messageHeader);
-com.adyen.model.terminal.PaymentRequest paymentRequest = new com.adyen.model.terminal.PaymentRequest();
+com.adyen.model.nexo.PaymentRequest paymentRequest = new com.adyen.model.nexo.PaymentRequest();
SaleData saleData = new SaleData();
-TransactionIDType transactionIdentification = new TransactionIDType();
-transactionIdentification.setTransactionID(transactionID);
-OffsetDateTime timestamp = OffsetDateTime.now();
+TransactionIdentification transactionIdentification = new TransactionIdentification();
+transactionIdentification.setTransactionID("001");
+XMLGregorianCalendar timestamp = DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar());
transactionIdentification.setTimeStamp(timestamp);
saleData.setSaleTransactionID(transactionIdentification);
@@ -346,14 +338,14 @@ merchantApplication.setVersion("1");
merchantApplication.setName("Test");
applicationInfo.setMerchantApplication(merchantApplication);
saleToAcquirerData.setApplicationInfo(applicationInfo);
-saleData.setSaleToAcquirerData(saleToAcquirerData.toBase64());
-
+saleData.setSaleToAcquirerData(saleToAcquirerData);
+
PaymentTransaction paymentTransaction = new PaymentTransaction();
AmountsReq amountsReq = new AmountsReq();
amountsReq.setCurrency("EUR");
amountsReq.setRequestedAmount(BigDecimal.valueOf(1000));
paymentTransaction.setAmountsReq(amountsReq);
-
+
paymentRequest.setPaymentTransaction(paymentTransaction);
paymentRequest.setSaleData(saleData);
@@ -373,8 +365,8 @@ TerminalAPIRequest terminalAPIRequest = new TerminalAPIRequest();
SaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest();
MessageHeader messageHeader = new MessageHeader();
-messageHeader.setMessageClass(MessageClass.SERVICE);
-messageHeader.setMessageCategory(MessageCategory.ABORT);
+messageHeader.setMessageClass(MessageClassType.SERVICE);
+messageHeader.setMessageCategory(MessageCategoryType.ABORT);
messageHeader.setMessageType(MessageType.REQUEST);
messageHeader.setProtocolVersion("3.0");
messageHeader.setServiceID("Different service ID");
@@ -384,7 +376,7 @@ messageHeader.setPOIID(POIID);
AbortRequest abortRequest = new AbortRequest();
abortRequest.setAbortReason("MerchantAbort");
MessageReference messageReference = new MessageReference();
-messageReference.setMessageCategory(MessageCategory.PAYMENT);
+messageReference.setMessageCategory(MessageCategoryType.PAYMENT);
messageReference.setSaleID(saleID);
messageReference.setPOIID(POIID);
// Service ID of the payment you're aborting
@@ -417,10 +409,10 @@ messageHeader.setPOIID(POIID);
TransactionStatusRequest transactionStatusRequest = new TransactionStatusRequest();
transactionStatusRequest.setReceiptReprintFlag(true);
-transactionStatusRequest.getDocumentQualifier().add(DocumentQualifier.CASHIERRECEIPT);
-transactionStatusRequest.getDocumentQualifier().add(DocumentQualifier.CUSTOMERRECEIPT);
+transactionStatusRequest.getDocumentQualifier().add(DocumentQualifierType.CASHIER_RECEIPT);
+transactionStatusRequest.getDocumentQualifier().add(DocumentQualifierType.CUSTOMER_RECEIPT);
MessageReference messageReference = new MessageReference();
-messageReference.setMessageCategory(MessageCategory.PAYMENT);
+messageReference.setMessageCategory(MessageCategoryType.PAYMENT);
messageReference.setSaleID(saleID);
// serviceID of the transaction you want the status update from
messageReference.setServiceID(serviceID);
@@ -444,9 +436,8 @@ import com.adyen.Config;
import com.adyen.enums.Environment;
import com.adyen.httpclient.TerminalLocalAPIHostnameVerifier;
import com.adyen.service.TerminalLocalAPI;
-import com.adyen.terminal.TerminalAPIResponse;
-import com.adyen.terminal.security.SecurityKey;
-
+import com.adyen.model.terminal.security.*;
+import com.adyen.model.terminal.*;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManagerFactory;
import java.security.KeyStore;
@@ -490,8 +481,7 @@ If you wish to develop the Local Terminal API integration parallel to your encry
```java
// Step 1: Import the required classes
import com.adyen.service.TerminalLocalAPIUnencrypted;
-import com.adyen.terminal.TerminalAPIRequest;
-import com.adyen.terminal.TerminalAPIResponse;
+import com.adyen.model.nexo.*;
import com.adyen.model.terminal.*;
import javax.net.ssl.SSLContext;
diff --git a/src/main/java/com/adyen/builders/terminal/TerminalAPIRequestBuilder.java b/src/main/java/com/adyen/builders/terminal/TerminalAPIRequestBuilder.java
new file mode 100644
index 000000000..4de52f9a6
--- /dev/null
+++ b/src/main/java/com/adyen/builders/terminal/TerminalAPIRequestBuilder.java
@@ -0,0 +1,402 @@
+/*
+ * ######
+ * ######
+ * ############ ####( ###### #####. ###### ############ ############
+ * ############# #####( ###### #####. ###### ############# #############
+ * ###### #####( ###### #####. ###### ##### ###### ##### ######
+ * ###### ###### #####( ###### #####. ###### ##### ##### ##### ######
+ * ###### ###### #####( ###### #####. ###### ##### ##### ######
+ * ############# ############# ############# ############# ##### ######
+ * ############ ############ ############# ############ ##### ######
+ * ######
+ * #############
+ * ############
+ *
+ * Adyen Java API Library
+ *
+ * Copyright (c) 2019 Adyen B.V.
+ * This file is open source and available under the MIT license.
+ * See the LICENSE file for more info.
+ */
+
+package com.adyen.builders.terminal;
+
+import com.adyen.model.nexo.AbortRequest;
+import com.adyen.model.nexo.AdminRequest;
+import com.adyen.model.nexo.BalanceInquiryRequest;
+import com.adyen.model.nexo.BatchRequest;
+import com.adyen.model.nexo.CardAcquisitionRequest;
+import com.adyen.model.nexo.CardReaderAPDURequest;
+import com.adyen.model.nexo.CardReaderInitRequest;
+import com.adyen.model.nexo.CardReaderPowerOffRequest;
+import com.adyen.model.nexo.ContentInformation;
+import com.adyen.model.nexo.DiagnosisRequest;
+import com.adyen.model.nexo.DisplayRequest;
+import com.adyen.model.nexo.EnableServiceRequest;
+import com.adyen.model.nexo.EventNotification;
+import com.adyen.model.nexo.GetTotalsRequest;
+import com.adyen.model.nexo.InputRequest;
+import com.adyen.model.nexo.InputUpdate;
+import com.adyen.model.nexo.LoginRequest;
+import com.adyen.model.nexo.LogoutRequest;
+import com.adyen.model.nexo.LoyaltyRequest;
+import com.adyen.model.nexo.MessageCategoryType;
+import com.adyen.model.nexo.MessageClassType;
+import com.adyen.model.nexo.MessageHeader;
+import com.adyen.model.nexo.MessageType;
+import com.adyen.model.nexo.PINRequest;
+import com.adyen.model.nexo.PaymentRequest;
+import com.adyen.model.nexo.PrintRequest;
+import com.adyen.model.nexo.ReconciliationRequest;
+import com.adyen.model.nexo.ReversalRequest;
+import com.adyen.model.nexo.SaleToPOIRequest;
+import com.adyen.model.nexo.SoundRequest;
+import com.adyen.model.nexo.StoredValueRequest;
+import com.adyen.model.nexo.TransactionStatusRequest;
+import com.adyen.model.nexo.TransmitRequest;
+import com.adyen.model.terminal.TerminalAPIRequest;
+
+import static com.adyen.constants.ApiConstants.TerminalAPI.PROTOCOL_VERSION;
+
+public final class TerminalAPIRequestBuilder {
+
+ // MessageHeader
+ private final MessageHeader messageHeader;
+ private MessageClassType messageClass;
+ private MessageCategoryType messageCategory;
+
+ // SaleToPOIRequest
+ private AbortRequest abortRequest;
+ private BalanceInquiryRequest balanceInquiryRequest;
+ private BatchRequest batchRequest;
+ private CardAcquisitionRequest cardAcquisitionRequest;
+ private AdminRequest adminRequest;
+ private DiagnosisRequest diagnosisRequest;
+ private DisplayRequest displayRequest;
+ private EnableServiceRequest enableServiceRequest;
+ private EventNotification eventNotification;
+ private GetTotalsRequest getTotalsRequest;
+ private InputRequest inputRequest;
+ private InputUpdate inputUpdate;
+ private LoginRequest loginRequest;
+ private LogoutRequest logoutRequest;
+ private LoyaltyRequest loyaltyRequest;
+ private PaymentRequest paymentRequest;
+ private PINRequest pinRequest;
+ private PrintRequest printRequest;
+ private CardReaderInitRequest cardReaderInitRequest;
+ private CardReaderAPDURequest cardReaderAPDURequest;
+ private CardReaderPowerOffRequest cardReaderPowerOffRequest;
+ private ReconciliationRequest reconciliationRequest;
+ private ReversalRequest reversalRequest;
+ private SoundRequest soundRequest;
+ private StoredValueRequest storedValueRequest;
+ private TransactionStatusRequest transactionStatusRequest;
+ private TransmitRequest transmitRequest;
+ private ContentInformation securityTrailer;
+
+ public TerminalAPIRequestBuilder(String saleId, String serviceId, String poiId) {
+ messageHeader = new MessageHeader();
+ messageHeader.setProtocolVersion(PROTOCOL_VERSION);
+ messageHeader.setMessageType(MessageType.REQUEST);
+ messageHeader.setSaleID(saleId);
+ messageHeader.setServiceID(serviceId);
+ messageHeader.setPOIID(poiId);
+ }
+
+ public TerminalAPIRequestBuilder withAbortRequest(AbortRequest abortRequest) {
+ this.messageClass = MessageClassType.SERVICE;
+ this.messageCategory = MessageCategoryType.ABORT;
+ this.abortRequest = abortRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withBalanceInquiryRequest(BalanceInquiryRequest balanceInquiryRequest) {
+ this.messageClass = MessageClassType.SERVICE;
+ this.messageCategory = MessageCategoryType.BALANCE_INQUIRY;
+ this.balanceInquiryRequest = balanceInquiryRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withBatchRequest(BatchRequest batchRequest) {
+ this.messageClass = MessageClassType.SERVICE;
+ this.messageCategory = MessageCategoryType.BATCH;
+ this.batchRequest = batchRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withCardAcquisitionRequest(CardAcquisitionRequest cardAcquisitionRequest) {
+ this.messageClass = MessageClassType.SERVICE;
+ this.messageCategory = MessageCategoryType.CARD_ACQUISITION;
+ this.cardAcquisitionRequest = cardAcquisitionRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withAdminRequest(AdminRequest adminRequest) {
+ this.messageClass = MessageClassType.SERVICE;
+ this.messageCategory = MessageCategoryType.ADMIN;
+ this.adminRequest = adminRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withDiagnosisRequest(DiagnosisRequest diagnosisRequest) {
+ this.messageClass = MessageClassType.SERVICE;
+ this.messageCategory = MessageCategoryType.DIAGNOSIS;
+ this.diagnosisRequest = diagnosisRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withDisplayRequest(DisplayRequest displayRequest) {
+ this.messageClass = MessageClassType.DEVICE;
+ this.messageCategory = MessageCategoryType.DISPLAY;
+ this.displayRequest = displayRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withEnableServiceRequest(EnableServiceRequest enableServiceRequest) {
+ this.messageClass = MessageClassType.SERVICE;
+ this.messageCategory = MessageCategoryType.ENABLE_SERVICE;
+ this.enableServiceRequest = enableServiceRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withEventNotification(EventNotification eventNotification) {
+ this.messageClass = MessageClassType.EVENT;
+ this.messageCategory = MessageCategoryType.EVENT;
+ this.eventNotification = eventNotification;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withGetTotalsRequest(GetTotalsRequest getTotalsRequest) {
+ this.messageClass = MessageClassType.SERVICE;
+ this.messageCategory = MessageCategoryType.GET_TOTALS;
+ this.getTotalsRequest = getTotalsRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withInputRequest(InputRequest inputRequest) {
+ this.messageClass = MessageClassType.DEVICE;
+ this.messageCategory = MessageCategoryType.INPUT;
+ this.inputRequest = inputRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withInputUpdate(InputUpdate inputUpdate) {
+ this.messageClass = MessageClassType.DEVICE;
+ this.messageCategory = MessageCategoryType.INPUT_UPDATE;
+ this.inputUpdate = inputUpdate;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withLoginRequest(LoginRequest loginRequest) {
+ this.messageClass = MessageClassType.SERVICE;
+ this.messageCategory = MessageCategoryType.LOGIN;
+ this.loginRequest = loginRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withLogoutRequest(LogoutRequest logoutRequest) {
+ this.messageClass = MessageClassType.SERVICE;
+ this.messageCategory = MessageCategoryType.LOGOUT;
+ this.logoutRequest = logoutRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withLoyaltyRequest(LoyaltyRequest loyaltyRequest) {
+ this.messageClass = MessageClassType.SERVICE;
+ this.messageCategory = MessageCategoryType.LOYALTY;
+ this.loyaltyRequest = loyaltyRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withPaymentRequest(PaymentRequest paymentRequest) {
+ this.messageClass = MessageClassType.SERVICE;
+ this.messageCategory = MessageCategoryType.PAYMENT;
+ this.paymentRequest = paymentRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withPinRequest(PINRequest pinRequest) {
+ this.messageClass = MessageClassType.DEVICE;
+ this.messageCategory = MessageCategoryType.PIN;
+ this.pinRequest = pinRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withPrintRequest(PrintRequest printRequest) {
+ this.messageClass = MessageClassType.DEVICE;
+ this.messageCategory = MessageCategoryType.PRINT;
+ this.printRequest = printRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withCardReaderInitRequest(CardReaderInitRequest cardReaderInitRequest) {
+ this.messageClass = MessageClassType.DEVICE;
+ this.messageCategory = MessageCategoryType.CARD_READER_INIT;
+ this.cardReaderInitRequest = cardReaderInitRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withCardReaderAPDURequest(CardReaderAPDURequest cardReaderAPDURequest) {
+ this.messageClass = MessageClassType.DEVICE;
+ this.messageCategory = MessageCategoryType.CARD_READER_APDU;
+ this.cardReaderAPDURequest = cardReaderAPDURequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withCardReaderPowerOffRequest(CardReaderPowerOffRequest cardReaderPowerOffRequest) {
+ this.messageClass = MessageClassType.DEVICE;
+ this.messageCategory = MessageCategoryType.CARD_READER_POWER_OFF;
+ this.cardReaderPowerOffRequest = cardReaderPowerOffRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withReconciliationRequest(ReconciliationRequest reconciliationRequest) {
+ this.messageClass = MessageClassType.SERVICE;
+ this.messageCategory = MessageCategoryType.RECONCILIATION;
+ this.reconciliationRequest = reconciliationRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withReversalRequest(ReversalRequest reversalRequest) {
+ this.messageClass = MessageClassType.SERVICE;
+ this.messageCategory = MessageCategoryType.REVERSAL;
+ this.reversalRequest = reversalRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withSoundRequest(SoundRequest soundRequest) {
+ this.messageClass = MessageClassType.DEVICE;
+ this.messageCategory = MessageCategoryType.SOUND;
+ this.soundRequest = soundRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withStoredValueRequest(StoredValueRequest storedValueRequest) {
+ this.messageClass = MessageClassType.SERVICE;
+ this.messageCategory = MessageCategoryType.STORED_VALUE;
+ this.storedValueRequest = storedValueRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withTransactionStatusRequest(TransactionStatusRequest transactionStatusRequest) {
+ this.messageClass = MessageClassType.SERVICE;
+ this.messageCategory = MessageCategoryType.TRANSACTION_STATUS;
+ this.transactionStatusRequest = transactionStatusRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withTransmitRequest(TransmitRequest transmitRequest) {
+ this.messageClass = MessageClassType.DEVICE;
+ this.messageCategory = MessageCategoryType.TRANSMIT;
+ this.transmitRequest = transmitRequest;
+ return this;
+ }
+
+ public TerminalAPIRequestBuilder withSecurityTrailer(ContentInformation securityTrailer) {
+ this.securityTrailer = securityTrailer;
+ return this;
+ }
+
+ public TerminalAPIRequest build() {
+ messageHeader.setMessageClass(messageClass);
+ messageHeader.setMessageCategory(messageCategory);
+
+ SaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest();
+ saleToPOIRequest.setMessageHeader(messageHeader);
+ saleToPOIRequest.setSecurityTrailer(securityTrailer);
+
+ if (messageCategory != null) {
+ switch (messageCategory) {
+ case PAYMENT:
+ saleToPOIRequest.setPaymentRequest(paymentRequest);
+ break;
+ case TRANSACTION_STATUS:
+ saleToPOIRequest.setTransactionStatusRequest(transactionStatusRequest);
+ break;
+ case ABORT:
+ saleToPOIRequest.setAbortRequest(abortRequest);
+ break;
+ case REVERSAL:
+ saleToPOIRequest.setReversalRequest(reversalRequest);
+ break;
+ case CARD_ACQUISITION:
+ saleToPOIRequest.setCardAcquisitionRequest(cardAcquisitionRequest);
+ break;
+ case BALANCE_INQUIRY:
+ saleToPOIRequest.setBalanceInquiryRequest(balanceInquiryRequest);
+ break;
+ case BATCH:
+ saleToPOIRequest.setBatchRequest(batchRequest);
+ break;
+ case ADMIN:
+ saleToPOIRequest.setAdminRequest(adminRequest);
+ break;
+ case DIAGNOSIS:
+ saleToPOIRequest.setDiagnosisRequest(diagnosisRequest);
+ break;
+ case DISPLAY:
+ saleToPOIRequest.setDisplayRequest(displayRequest);
+ break;
+ case EVENT:
+ saleToPOIRequest.setEventNotification(eventNotification);
+ break;
+ case ENABLE_SERVICE:
+ saleToPOIRequest.setEnableServiceRequest(enableServiceRequest);
+ break;
+ case GET_TOTALS:
+ saleToPOIRequest.setGetTotalsRequest(getTotalsRequest);
+ break;
+ case INPUT:
+ saleToPOIRequest.setInputRequest(inputRequest);
+ break;
+ case INPUT_UPDATE:
+ saleToPOIRequest.setInputUpdate(inputUpdate);
+ break;
+ case LOGIN:
+ saleToPOIRequest.setLoginRequest(loginRequest);
+ break;
+ case LOGOUT:
+ saleToPOIRequest.setLogoutRequest(logoutRequest);
+ break;
+ case LOYALTY:
+ saleToPOIRequest.setLoyaltyRequest(loyaltyRequest);
+ break;
+ case PIN:
+ saleToPOIRequest.setPINRequest(pinRequest);
+ break;
+ case PRINT:
+ saleToPOIRequest.setPrintRequest(printRequest);
+ break;
+ case CARD_READER_INIT:
+ saleToPOIRequest.setCardReaderInitRequest(cardReaderInitRequest);
+ break;
+ case CARD_READER_APDU:
+ saleToPOIRequest.setCardReaderAPDURequest(cardReaderAPDURequest);
+ break;
+ case CARD_READER_POWER_OFF:
+ saleToPOIRequest.setCardReaderPowerOffRequest(cardReaderPowerOffRequest);
+ break;
+ case RECONCILIATION:
+ saleToPOIRequest.setReconciliationRequest(reconciliationRequest);
+ break;
+ case SOUND:
+ saleToPOIRequest.setSoundRequest(soundRequest);
+ break;
+ case STORED_VALUE:
+ saleToPOIRequest.setStoredValueRequest(storedValueRequest);
+ break;
+ case TRANSMIT:
+ saleToPOIRequest.setTransmitRequest(transmitRequest);
+ break;
+ default:
+ break;
+ }
+ }
+
+ TerminalAPIRequest terminalAPIRequest = new TerminalAPIRequest();
+ terminalAPIRequest.setSaleToPOIRequest(saleToPOIRequest);
+
+ return terminalAPIRequest;
+ }
+}
diff --git a/src/main/java/com/adyen/model/ApiError.java b/src/main/java/com/adyen/model/ApiError.java
index 3941a5215..b149f3635 100644
--- a/src/main/java/com/adyen/model/ApiError.java
+++ b/src/main/java/com/adyen/model/ApiError.java
@@ -278,15 +278,17 @@ public int hashCode() {
@Override
public String toString() {
- return "class ServiceError {\n" +
- " invalidFields: " + toIndentedString(invalidFields) + "\n" +
- " additionalData: " + toIndentedString(additionalData) + "\n" +
- " errorCode: " + toIndentedString(errorCode) + "\n" +
- " errorType: " + toIndentedString(errorType) + "\n" +
- " message: " + toIndentedString(message) + "\n" +
- " pspReference: " + toIndentedString(pspReference) + "\n" +
- " status: " + toIndentedString(status) + "\n" +
- "}";
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ServiceError {\n");
+ sb.append(" invalidFields: ").append(toIndentedString(invalidFields)).append("\n");
+ sb.append(" additionalData: ").append(toIndentedString(additionalData)).append("\n");
+ sb.append(" errorCode: ").append(toIndentedString(errorCode)).append("\n");
+ sb.append(" errorType: ").append(toIndentedString(errorType)).append("\n");
+ sb.append(" message: ").append(toIndentedString(message)).append("\n");
+ sb.append(" pspReference: ").append(toIndentedString(pspReference)).append("\n");
+ sb.append(" status: ").append(toIndentedString(status)).append("\n");
+ sb.append("}");
+ return sb.toString();
}
/**
diff --git a/src/main/java/com/adyen/model/InvalidField.java b/src/main/java/com/adyen/model/InvalidField.java
index 685f538d6..305cd2b63 100644
--- a/src/main/java/com/adyen/model/InvalidField.java
+++ b/src/main/java/com/adyen/model/InvalidField.java
@@ -150,11 +150,13 @@ public int hashCode() {
@Override
public String toString() {
- return "class InvalidField {\n" +
- " message: " + toIndentedString(message) + "\n" +
- " name: " + toIndentedString(name) + "\n" +
- " value: " + toIndentedString(value) + "\n" +
- "}";
+ StringBuilder sb = new StringBuilder();
+ sb.append("class InvalidField {\n");
+ sb.append(" message: ").append(toIndentedString(message)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" value: ").append(toIndentedString(value)).append("\n");
+ sb.append("}");
+ return sb.toString();
}
/**
diff --git a/src/main/java/com/adyen/model/nexo/AbortRequest.java b/src/main/java/com/adyen/model/nexo/AbortRequest.java
new file mode 100644
index 000000000..db8bd06b6
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/AbortRequest.java
@@ -0,0 +1,113 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Body of the Abort Request messageType. -- Usage: It conveys Information requested for identification of the messageType request carrying the transaction to abort. A messageType to display on the CustomerError Device could be sent by the Sale System (DisplayOutput).
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
keyTransportOrKEK;
+ /**
+ * The Mac algorithm.
+ */
+ @XmlElement(name = "MACAlgorithm", required = true)
+ protected AlgorithmIdentifier macAlgorithm;
+ /**
+ * The Encapsulated content.
+ */
+ @XmlElement(name = "EncapsulatedContent", required = true)
+ protected EncapsulatedContent encapsulatedContent;
+ /**
+ * The Version.
+ */
+ @XmlElement(name = "Version")
+ protected VersionType version;
+ /**
+ * The Mac.
+ */
+ @XmlElement(name = "MAC", required = true)
+ protected byte[] mac;
+
+ /**
+ * Gets the value of the keyTransportOrKEK property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the keyTransportOrKEK property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getKeyTransportOrKEK().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link KeyTransport }
+ * {@link KEK }
+ *
+ * @return the key transport or kek
+ */
+ public List getKeyTransportOrKEK() {
+ if (keyTransportOrKEK == null) {
+ keyTransportOrKEK = new ArrayList<>();
+ }
+ return this.keyTransportOrKEK;
+ }
+
+ /**
+ * Gets the value of the macAlgorithm property.
+ *
+ * @return possible object is {@link AlgorithmIdentifier }
+ */
+ public AlgorithmIdentifier getMACAlgorithm() {
+ return macAlgorithm;
+ }
+
+ /**
+ * Sets the value of the macAlgorithm property.
+ *
+ * @param value allowed object is {@link AlgorithmIdentifier }
+ */
+ public void setMACAlgorithm(AlgorithmIdentifier value) {
+ this.macAlgorithm = value;
+ }
+
+ /**
+ * Gets the value of the encapsulatedContent property.
+ *
+ * @return possible object is {@link EncapsulatedContent }
+ */
+ public EncapsulatedContent getEncapsulatedContent() {
+ return encapsulatedContent;
+ }
+
+ /**
+ * Sets the value of the encapsulatedContent property.
+ *
+ * @param value allowed object is {@link EncapsulatedContent }
+ */
+ public void setEncapsulatedContent(EncapsulatedContent value) {
+ this.encapsulatedContent = value;
+ }
+
+ /**
+ * Gets the value of the version property.
+ *
+ * @return possible object is {@link VersionType }
+ */
+ public VersionType getVersion() {
+ if (version == null) {
+ return VersionType.V_0;
+ } else {
+ return version;
+ }
+ }
+
+ /**
+ * Sets the value of the version property.
+ *
+ * @param value allowed object is {@link VersionType }
+ */
+ public void setVersion(VersionType value) {
+ this.version = value;
+ }
+
+ /**
+ * Gets the value of the mac property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getMAC() {
+ return mac;
+ }
+
+ /**
+ * Sets the value of the mac property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setMAC(byte[] value) {
+ this.mac = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/AuthenticationMethodType.java b/src/main/java/com/adyen/model/nexo/AuthenticationMethodType.java
new file mode 100644
index 000000000..7995feb4b
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/AuthenticationMethodType.java
@@ -0,0 +1,143 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for AuthenticationMethodType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="AuthenticationMethodType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Bypass"/>
+ * <enumeration value="ManualVerification"/>
+ * <enumeration value="MerchantAuthentication"/>
+ * <enumeration value="OfflinePIN"/>
+ * <enumeration value="OnlinePIN"/>
+ * <enumeration value="PaperSignature"/>
+ * <enumeration value="SecuredChannel"/>
+ * <enumeration value="SecureCertificate"/>
+ * <enumeration value="SecureNoCertificate"/>
+ * <enumeration value="SignatureCapture"/>
+ * <enumeration value="UnknownMethod"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "AuthenticationMethodType")
+@XmlEnum
+public enum AuthenticationMethodType {
+
+
+ /**
+ * Authentication bypassed by the merchant.
+ */
+ @XmlEnumValue("Bypass")
+ @Schema(description = "Authentication bypassed by the merchant.")
+ BYPASS("Bypass"),
+
+ /**
+ * Manual verification, for example passport or drivers license.
+ */
+ @XmlEnumValue("ManualVerification")
+ @Schema(description = "Manual verification, for example passport or drivers license.")
+ MANUAL_VERIFICATION("ManualVerification"),
+
+ /**
+ * Merchant-related authentication.
+ */
+ @XmlEnumValue("MerchantAuthentication")
+ @Schema(description = "Merchant-related authentication.")
+ MERCHANT_AUTHENTICATION("MerchantAuthentication"),
+
+ /**
+ * Off-line PIN authentication (Personal Identification Number).
+ */
+ @XmlEnumValue("OfflinePIN")
+ @Schema(description = "Off-line PIN authentication (Personal Identification Number).")
+ OFFLINE_PIN("OfflinePIN"),
+
+ /**
+ * On-line PIN authentication (Personal Identification Number).
+ */
+ @XmlEnumValue("OnlinePIN")
+ @Schema(description = "On-line PIN authentication (Personal Identification Number).")
+ ON_LINE_PIN("OnLinePIN", "OnlinePIN"),
+
+ /**
+ * Handwritten paper signature.
+ */
+ @XmlEnumValue("PaperSignature")
+ @Schema(description = "Handwritten paper signature.")
+ PAPER_SIGNATURE("PaperSignature"),
+
+ /**
+ * Channel-encrypted transaction.
+ */
+ @XmlEnumValue("SecuredChannel")
+ @Schema(description = "Channel-encrypted transaction.")
+ SECURED_CHANNEL("SecuredChannel"),
+
+ /**
+ * Secure electronic transaction with cardholder X.509 certificate.
+ */
+ @XmlEnumValue("SecureCertificate")
+ @Schema(description = "Secure electronic transaction with cardholder X.509 certificate.")
+ SECURE_CERTIFICATE("SecureCertificate"),
+
+ /**
+ * Secure electronic transaction without cardholder certificate.
+ */
+ @XmlEnumValue("SecureNoCertificate")
+ @Schema(description = "Secure electronic transaction without cardholder certificate.")
+ SECURE_NO_CERTIFICATE("SecureNoCertificate"),
+
+ /**
+ * Electronic signature capture (handwritten signature).
+ */
+ @XmlEnumValue("SignatureCapture")
+ @Schema(description = "Electronic signature capture (handwritten signature).")
+ SIGNATURE_CAPTURE("SignatureCapture"),
+
+ /**
+ * Authentication method is performed unknown.
+ */
+ @XmlEnumValue("UnknownMethod")
+ @Schema(description = "Authentication method is performed unknown.")
+ UNKNOWN_METHOD("UnknownMethod");
+
+ private final String[] value;
+
+ AuthenticationMethodType(String... v) {
+ value = v;
+ }
+
+ /**
+ * Values array.
+ *
+ * @return the values
+ */
+ public String[] value() {
+ return value;
+ }
+
+ /**
+ * From value authentication method type.
+ *
+ * @param v the v
+ * @return the authentication method type
+ */
+ public static AuthenticationMethodType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> Arrays.asList(s.value).contains(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/BalanceInquiryRequest.java b/src/main/java/com/adyen/model/nexo/BalanceInquiryRequest.java
new file mode 100644
index 000000000..c38c11e2a
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/BalanceInquiryRequest.java
@@ -0,0 +1,87 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the Balance Inquiry Request messageType. -- Usage: It conveys Information related to the account for which a Balance Inquiry is requested
+ *
+ * Java class for BalanceInquiryRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="BalanceInquiryRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="PaymentAccountReq" type="{}PaymentAccountReq" minOccurs="0"/>
+ * <element name="LoyaltyAccountReq" type="{}LoyaltyAccountReq" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "BalanceInquiryRequest", propOrder = {
+ "paymentAccountReq",
+ "loyaltyAccountReq"
+})
+public class BalanceInquiryRequest {
+
+ /**
+ * The Payment account req.
+ */
+ @XmlElement(name = "PaymentAccountReq")
+ @Schema(description = "Data related to the account pointed by the payment card")
+ protected PaymentAccountReq paymentAccountReq;
+ /**
+ * The Loyalty account req.
+ */
+ @XmlElement(name = "LoyaltyAccountReq")
+ @Schema(description = "Data related to a requested Loyalty program or account.")
+ protected LoyaltyAccountReq loyaltyAccountReq;
+
+ /**
+ * Gets the value of the paymentAccountReq property.
+ *
+ * @return possible object is {@link PaymentAccountReq }
+ */
+ public PaymentAccountReq getPaymentAccountReq() {
+ return paymentAccountReq;
+ }
+
+ /**
+ * Sets the value of the paymentAccountReq property.
+ *
+ * @param value allowed object is {@link PaymentAccountReq }
+ */
+ public void setPaymentAccountReq(PaymentAccountReq value) {
+ this.paymentAccountReq = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyAccountReq property.
+ *
+ * @return possible object is {@link LoyaltyAccountReq }
+ */
+ public LoyaltyAccountReq getLoyaltyAccountReq() {
+ return loyaltyAccountReq;
+ }
+
+ /**
+ * Sets the value of the loyaltyAccountReq property.
+ *
+ * @param value allowed object is {@link LoyaltyAccountReq }
+ */
+ public void setLoyaltyAccountReq(LoyaltyAccountReq value) {
+ this.loyaltyAccountReq = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/BalanceInquiryResponse.java b/src/main/java/com/adyen/model/nexo/BalanceInquiryResponse.java
new file mode 100644
index 000000000..a15a90bf2
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/BalanceInquiryResponse.java
@@ -0,0 +1,113 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the Balance Inquiry Response messageType. -- Usage: It conveys the balance and the identification of the associated payment, loyalty or stored value account.
+ *
+ * Java class for BalanceInquiryResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="BalanceInquiryResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * <element name="PaymentAccountStatus" type="{}PaymentAccountStatus" minOccurs="0"/>
+ * <element name="LoyaltyAccountStatus" type="{}LoyaltyAccountStatus" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "BalanceInquiryResponse", propOrder = {
+ "response",
+ "paymentAccountStatus",
+ "loyaltyAccountStatus"
+})
+public class BalanceInquiryResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Payment account status.
+ */
+ @XmlElement(name = "PaymentAccountStatus")
+ @Schema(description = "Data related to the result of a Balance Inquiry request. --Rule: If BalanceInquiryRequest. PaymentAccount present")
+ protected PaymentAccountStatus paymentAccountStatus;
+ /**
+ * The Loyalty account status.
+ */
+ @XmlElement(name = "LoyaltyAccountStatus")
+ @Schema(description = "Data related to the result of a loyalty Balance Inquiry. --Rule: If BalanceInquiryRequest. LoyaltyData present")
+ protected LoyaltyAccountStatus loyaltyAccountStatus;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the paymentAccountStatus property.
+ *
+ * @return possible object is {@link PaymentAccountStatus }
+ */
+ public PaymentAccountStatus getPaymentAccountStatus() {
+ return paymentAccountStatus;
+ }
+
+ /**
+ * Sets the value of the paymentAccountStatus property.
+ *
+ * @param value allowed object is {@link PaymentAccountStatus }
+ */
+ public void setPaymentAccountStatus(PaymentAccountStatus value) {
+ this.paymentAccountStatus = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyAccountStatus property.
+ *
+ * @return possible object is {@link LoyaltyAccountStatus }
+ */
+ public LoyaltyAccountStatus getLoyaltyAccountStatus() {
+ return loyaltyAccountStatus;
+ }
+
+ /**
+ * Sets the value of the loyaltyAccountStatus property.
+ *
+ * @param value allowed object is {@link LoyaltyAccountStatus }
+ */
+ public void setLoyaltyAccountStatus(LoyaltyAccountStatus value) {
+ this.loyaltyAccountStatus = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/BarcodeType.java b/src/main/java/com/adyen/model/nexo/BarcodeType.java
new file mode 100644
index 000000000..ae08abc05
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/BarcodeType.java
@@ -0,0 +1,93 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for BarcodeType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="BarcodeType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="EAN8"/>
+ * <enumeration value="EAN13"/>
+ * <enumeration value="UPCA"/>
+ * <enumeration value="Code25"/>
+ * <enumeration value="Code128"/>
+ * <enumeration value="PDF417"/>
+ * <enumeration value="QRCode"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "BarcodeType")
+@XmlEnum
+public enum BarcodeType {
+
+ /**
+ * Ean 8 barcode type.
+ */
+ @XmlEnumValue("EAN8")
+ EAN_8("EAN8"),
+ /**
+ * Ean 13 barcode type.
+ */
+ @XmlEnumValue("EAN13")
+ EAN_13("EAN13"),
+ /**
+ * Upca barcode type.
+ */
+ UPCA("UPCA"),
+ /**
+ * Code 25 barcode type.
+ */
+ @XmlEnumValue("Code25")
+ CODE_25("Code25"),
+ /**
+ * Code 128 barcode type.
+ */
+ @XmlEnumValue("Code128")
+ CODE_128("Code128"),
+ /**
+ * Pdf 417 barcode type.
+ */
+ @XmlEnumValue("PDF417")
+ PDF_417("PDF417"),
+ /**
+ * Qrcode barcode type.
+ */
+ @XmlEnumValue("QRCode")
+ QRCODE("QRCode");
+ private final String value;
+
+ BarcodeType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value barcode type.
+ *
+ * @param v the v
+ * @return the barcode type
+ */
+ public static BarcodeType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/BatchRequest.java b/src/main/java/com/adyen/model/nexo/BatchRequest.java
new file mode 100644
index 000000000..ec5754036
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/BatchRequest.java
@@ -0,0 +1,99 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Batch Request messageType. -- Usage: Message to send Payment, Loyalty and Reversal transactions to be performed without the Sale System, or to request the Payment, Loyalty and Reversal transactions that has been performed without the Sale System.
+ *
+ * Java class for BatchRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="BatchRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="TransactionToPerform" type="{}TransactionToPerform" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="RemoveAllFlag" type="{}RemoveAllFlag" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "BatchRequest", propOrder = {
+ "transactionToPerform"
+})
+public class BatchRequest {
+
+ /**
+ * The Transaction to perform.
+ */
+ @XmlElement(name = "TransactionToPerform")
+ @Schema(description = "Content of the Batch Request message")
+ protected List transactionToPerform;
+ /**
+ * The Remove all flag.
+ */
+ @XmlElement(name = "RemoveAllFlag")
+ @Schema(description = "A flag requesting to remove the transactions stored and not yet performed. default False.")
+ protected Boolean removeAllFlag;
+
+ /**
+ * Gets the value of the transactionToPerform property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the transactionToPerform property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getTransactionToPerform().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link TransactionToPerform }
+ *
+ * @return the transaction to perform
+ */
+ public List getTransactionToPerform() {
+ if (transactionToPerform == null) {
+ transactionToPerform = new ArrayList<>();
+ }
+ return this.transactionToPerform;
+ }
+
+ /**
+ * Gets the value of the removeAllFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public Boolean isRemoveAllFlag() {
+ return removeAllFlag;
+ }
+
+ /**
+ * Sets the value of the removeAllFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setRemoveAllFlag(Boolean value) {
+ this.removeAllFlag = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/BatchResponse.java b/src/main/java/com/adyen/model/nexo/BatchResponse.java
new file mode 100644
index 000000000..46b94dc31
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/BatchResponse.java
@@ -0,0 +1,100 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Batch Response messageType. -- Usage: It conveys either the response of transactions to perform sent in the batch request, or a collection of results of performed Payment, Loyalty and Reversal transactions in a batch messageType or file.
+ *
+ * Java class for BatchResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="BatchResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * <element name="PerformedTransaction" type="{}PerformedTransaction" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "BatchResponse", propOrder = {
+ "response",
+ "performedTransaction"
+})
+public class BatchResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Performed transaction.
+ */
+ @XmlElement(name = "PerformedTransaction")
+ @Schema(description = "Result of performed transactions.")
+ protected List performedTransaction;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the performedTransaction property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the performedTransaction property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getPerformedTransaction().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link PerformedTransaction }
+ *
+ * @return the performed transaction
+ */
+ public List getPerformedTransaction() {
+ if (performedTransaction == null) {
+ performedTransaction = new ArrayList<>();
+ }
+ return this.performedTransaction;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CapturedSignature.java b/src/main/java/com/adyen/model/nexo/CapturedSignature.java
new file mode 100644
index 000000000..587d8bfd8
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CapturedSignature.java
@@ -0,0 +1,100 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Numeric value of a handwritten signature. -- Usage: Contain 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, it contains: The size of the pad area where the signature is written, given
+ *
+ * Java class for CapturedSignature complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="CapturedSignature">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="AreaSize" type="{}AreaSize" minOccurs="0"/>
+ * <element name="SignaturePoint" type="{}SignaturePoint" maxOccurs="unbounded"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CapturedSignature", propOrder = {
+ "areaSize",
+ "signaturePoint"
+})
+public class CapturedSignature {
+
+ /**
+ * The Area size.
+ */
+ @XmlElement(name = "AreaSize")
+ @Schema(description = "Size of an area")
+ protected AreaSize areaSize;
+ /**
+ * The Signature point.
+ */
+ @XmlElement(name = "SignaturePoint", required = true)
+ @Schema(description = "Coordinates of a point where the pen changes direction or lift.")
+ protected List signaturePoint;
+
+ /**
+ * Gets the value of the areaSize property.
+ *
+ * @return possible object is {@link AreaSize }
+ */
+ public AreaSize getAreaSize() {
+ return areaSize;
+ }
+
+ /**
+ * Sets the value of the areaSize property.
+ *
+ * @param value allowed object is {@link AreaSize }
+ */
+ public void setAreaSize(AreaSize value) {
+ this.areaSize = value;
+ }
+
+ /**
+ * Gets the value of the signaturePoint property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the signaturePoint property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getSignaturePoint().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link SignaturePoint }
+ *
+ * @return the signature point
+ */
+ public List getSignaturePoint() {
+ if (signaturePoint == null) {
+ signaturePoint = new ArrayList<>();
+ }
+ return this.signaturePoint;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CardAcquisitionRequest.java b/src/main/java/com/adyen/model/nexo/CardAcquisitionRequest.java
new file mode 100644
index 000000000..95e164a02
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CardAcquisitionRequest.java
@@ -0,0 +1,87 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the Card Acquisition Request messageType. -- Usage: It conveys Information related to the payment and loyalty cards to read and analyse. This messageType pair is usually followed by a messageType pair (e.g. payment or loyalty) which refers to this Card Acquisition messageType pair. The Card Acquisition
+ *
+ * Java class for CardAcquisitionRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="CardAcquisitionRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SaleData" type="{}SaleData"/>
+ * <element name="CardAcquisitionTransaction" type="{}CardAcquisitionTransaction"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CardAcquisitionRequest", propOrder = {
+ "saleData",
+ "cardAcquisitionTransaction"
+})
+public class CardAcquisitionRequest {
+
+ /**
+ * The Sale data.
+ */
+ @XmlElement(name = "SaleData", required = true)
+ @Schema(description = "Data related to the Sale System.")
+ protected SaleData saleData;
+ /**
+ * The Card acquisition transaction.
+ */
+ @XmlElement(name = "CardAcquisitionTransaction", required = true)
+ @Schema(description = "Data related to the payment and loyalty card acquisition.")
+ protected CardAcquisitionTransaction cardAcquisitionTransaction;
+
+ /**
+ * Gets the value of the saleData property.
+ *
+ * @return possible object is {@link SaleData }
+ */
+ public SaleData getSaleData() {
+ return saleData;
+ }
+
+ /**
+ * Sets the value of the saleData property.
+ *
+ * @param value allowed object is {@link SaleData }
+ */
+ public void setSaleData(SaleData value) {
+ this.saleData = value;
+ }
+
+ /**
+ * Gets the value of the cardAcquisitionTransaction property.
+ *
+ * @return possible object is {@link CardAcquisitionTransaction }
+ */
+ public CardAcquisitionTransaction getCardAcquisitionTransaction() {
+ return cardAcquisitionTransaction;
+ }
+
+ /**
+ * Sets the value of the cardAcquisitionTransaction property.
+ *
+ * @param value allowed object is {@link CardAcquisitionTransaction }
+ */
+ public void setCardAcquisitionTransaction(CardAcquisitionTransaction value) {
+ this.cardAcquisitionTransaction = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CardAcquisitionResponse.java b/src/main/java/com/adyen/model/nexo/CardAcquisitionResponse.java
new file mode 100644
index 000000000..b405589ae
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CardAcquisitionResponse.java
@@ -0,0 +1,252 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Card Acquisition Response messageType. -- Usage: It conveys Information related to the payment and loyalty cards read and processed by the POI System and entered by the Customer:As for the Payment request, the result of the CardAcquisition and the identification of the transaction.One
+ *
+ * Java class for CardAcquisitionResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="CardAcquisitionResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * <element name="SaleData" type="{}SaleData"/>
+ * <element name="POIData" type="{}POIData"/>
+ * <element name="PaymentBrand" type="{}PaymentBrand" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="PaymentInstrumentData" type="{}PaymentInstrumentData" minOccurs="0"/>
+ * <element name="LoyaltyAccount" type="{}LoyaltyAccount" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="CustomerOrder" type="{}CustomerOrder" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CardAcquisitionResponse", propOrder = {
+ "response",
+ "saleData",
+ "poiData",
+ "paymentBrand",
+ "paymentInstrumentData",
+ "loyaltyAccount",
+ "customerOrder"
+})
+public class CardAcquisitionResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Sale data.
+ */
+ @XmlElement(name = "SaleData", required = true)
+ @Schema(description = "Data related to the Sale System.")
+ protected SaleData saleData;
+ /**
+ * The Poi data.
+ */
+ @XmlElement(name = "POIData", required = true)
+ @Schema(description = "Data related to the POI System.")
+ protected POIData poiData;
+ /**
+ * The Payment brand.
+ */
+ @XmlElement(name = "PaymentBrand")
+ @Schema(description = "Type of payment card --Rule: Brands available for payment by the card and not chosen by the Customer")
+ protected List paymentBrand;
+ /**
+ * The Payment instrument data.
+ */
+ @XmlElement(name = "PaymentInstrumentData")
+ @Schema(description = "Data related to the instrument of payment for the transaction. --Rule: If this type of payment card is configured to send information if the CardAcquisition response")
+ protected PaymentInstrumentData paymentInstrumentData;
+ /**
+ * The Loyalty account.
+ */
+ @XmlElement(name = "LoyaltyAccount")
+ @Schema(description = "Data related to a loyalty account processed in the transaction. --Rule: If loyalty card selected by the customer")
+ protected List loyaltyAccount;
+ /**
+ * The Customer order.
+ */
+ @XmlElement(name = "CustomerOrder")
+ @Schema(description = "Customer order attached to a card, recorded in the POI system. --Rule: If the list of customer orders has been requested.")
+ protected List customerOrder;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the saleData property.
+ *
+ * @return possible object is {@link SaleData }
+ */
+ public SaleData getSaleData() {
+ return saleData;
+ }
+
+ /**
+ * Sets the value of the saleData property.
+ *
+ * @param value allowed object is {@link SaleData }
+ */
+ public void setSaleData(SaleData value) {
+ this.saleData = value;
+ }
+
+ /**
+ * Gets the value of the poiData property.
+ *
+ * @return possible object is {@link POIData }
+ */
+ public POIData getPOIData() {
+ return poiData;
+ }
+
+ /**
+ * Sets the value of the poiData property.
+ *
+ * @param value allowed object is {@link POIData }
+ */
+ public void setPOIData(POIData value) {
+ this.poiData = value;
+ }
+
+ /**
+ * Gets the value of the paymentBrand property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the paymentBrand property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getPaymentBrand().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ * @return the payment brand
+ */
+ public List getPaymentBrand() {
+ if (paymentBrand == null) {
+ paymentBrand = new ArrayList<>();
+ }
+ return this.paymentBrand;
+ }
+
+ /**
+ * Gets the value of the paymentInstrumentData property.
+ *
+ * @return possible object is {@link PaymentInstrumentData }
+ */
+ public PaymentInstrumentData getPaymentInstrumentData() {
+ return paymentInstrumentData;
+ }
+
+ /**
+ * Sets the value of the paymentInstrumentData property.
+ *
+ * @param value allowed object is {@link PaymentInstrumentData }
+ */
+ public void setPaymentInstrumentData(PaymentInstrumentData value) {
+ this.paymentInstrumentData = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyAccount property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the loyaltyAccount property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getLoyaltyAccount().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link LoyaltyAccount }
+ *
+ * @return the loyalty account
+ */
+ public List getLoyaltyAccount() {
+ if (loyaltyAccount == null) {
+ loyaltyAccount = new ArrayList<>();
+ }
+ return this.loyaltyAccount;
+ }
+
+ /**
+ * Gets the value of the customerOrder property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the customerOrder property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getCustomerOrder().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link CustomerOrder }
+ *
+ * @return the customer order
+ */
+ public List getCustomerOrder() {
+ if (customerOrder == null) {
+ customerOrder = new ArrayList<>();
+ }
+ return this.customerOrder;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CardAcquisitionTransaction.java b/src/main/java/com/adyen/model/nexo/CardAcquisitionTransaction.java
new file mode 100644
index 000000000..fb596f9ab
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CardAcquisitionTransaction.java
@@ -0,0 +1,307 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Data related to the payment and loyalty card acquisition. -- Usage: Elements requested by the Sale System that are global to the payment or loyalty transaction.
+ *
+ * Java class for CardAcquisitionTransaction complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="CardAcquisitionTransaction">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="AllowedPaymentBrand" type="{}AllowedPaymentBrand" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="AllowedLoyaltyBrand" type="{}AllowedLoyaltyBrand" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="ForceEntryMode" type="{}ForceEntryMode" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="LoyaltyHandling" type="{}LoyaltyHandlingType" default="Allowed" />
+ * <attribute name="CustomerLanguage" type="{}ISOLanguage2A" />
+ * <attribute name="ForceCustomerSelectionFlag" type="{}ForceCustomerSelectionFlag" default="false" />
+ * <attribute name="TotalAmount" type="{}SimpleAmountType" />
+ * <attribute name="Payment" type="{}PaymentType" />
+ * <attribute name="CashBackFlag" type="{}CashBackFlag" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CardAcquisitionTransaction", propOrder = {
+ "allowedPaymentBrand",
+ "allowedLoyaltyBrand",
+ "forceEntryMode"
+})
+public class CardAcquisitionTransaction {
+
+ /**
+ * The Allowed payment brand.
+ */
+ @XmlElement(name = "AllowedPaymentBrand")
+ @Schema(description = "Card payment brands allowed by the Sale System for the payment transaction.")
+ protected List allowedPaymentBrand;
+ /**
+ * The Allowed loyalty brand.
+ */
+ @XmlElement(name = "AllowedLoyaltyBrand")
+ @Schema(description = "Loyalty brands or programs allowed by the Sale System for the loyalty transaction.")
+ protected List allowedLoyaltyBrand;
+ /**
+ * The Force entry mode.
+ */
+ @XmlElement(name = "ForceEntryMode")
+ @Schema(description = "Payment instrument entry mode requested by the Sale System.")
+ protected List forceEntryMode;
+ /**
+ * The Loyalty handling.
+ */
+ @XmlElement(name = "LoyaltyHandling")
+ @Schema(description = "Type of Loyalty processing requested by the Sale System.")
+ protected LoyaltyHandlingType loyaltyHandling;
+ /**
+ * The Customer language.
+ */
+ @XmlElement(name = "CustomerLanguage")
+ @Schema(description = "Language of the Customer --Rule: If the language is selected by the Sale System before the request to the POI.")
+ protected String customerLanguage;
+ /**
+ * The Force customer selection flag.
+ */
+ @XmlElement(name = "ForceCustomerSelectionFlag")
+ @Schema(description = "Indicates if the Customer realises the selection of the card application.")
+ protected Boolean forceCustomerSelectionFlag;
+ /**
+ * The Total amount.
+ */
+ @XmlElement(name = "TotalAmount")
+ @Schema(description = "Amount of a transaction. --Rule: Mandatory for contactless card, otherwise absent")
+ protected BigDecimal totalAmount;
+ /**
+ * The Payment.
+ */
+ @XmlElement(name = "PaymentType")
+ @Schema(description = "Type of payment transaction. --Rule: Mandatory for contactless card, otherwise absent")
+ protected PaymentType paymentType;
+ /**
+ * The Cash back flag.
+ */
+ @XmlElement(name = "CashBackFlag")
+ @Schema(description = "Cash back has been requested with the payment transaction. --Rule: For contactless, True if cash back has been requested, default False. Otherwise absent.")
+ protected Boolean cashBackFlag;
+
+ /**
+ * Gets the value of the allowedPaymentBrand property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the allowedPaymentBrand property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getAllowedPaymentBrand().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ * @return the allowed payment brand
+ */
+ public List getAllowedPaymentBrand() {
+ if (allowedPaymentBrand == null) {
+ allowedPaymentBrand = new ArrayList<>();
+ }
+ return this.allowedPaymentBrand;
+ }
+
+ /**
+ * Gets the value of the allowedLoyaltyBrand property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the allowedLoyaltyBrand property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getAllowedLoyaltyBrand().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ * @return the allowed loyalty brand
+ */
+ public List getAllowedLoyaltyBrand() {
+ if (allowedLoyaltyBrand == null) {
+ allowedLoyaltyBrand = new ArrayList<>();
+ }
+ return this.allowedLoyaltyBrand;
+ }
+
+ /**
+ * Gets the value of the forceEntryMode property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the forceEntryMode property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getForceEntryMode().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link ForceEntryModeType }
+ *
+ * @return the force entry mode
+ */
+ public List getForceEntryMode() {
+ if (forceEntryMode == null) {
+ forceEntryMode = new ArrayList<>();
+ }
+ return this.forceEntryMode;
+ }
+
+ /**
+ * Gets the value of the loyaltyHandling property.
+ *
+ * @return possible object is {@link LoyaltyHandlingType }
+ */
+ public LoyaltyHandlingType getLoyaltyHandling() {
+ if (loyaltyHandling == null) {
+ return LoyaltyHandlingType.ALLOWED;
+ } else {
+ return loyaltyHandling;
+ }
+ }
+
+ /**
+ * Sets the value of the loyaltyHandling property.
+ *
+ * @param value allowed object is {@link LoyaltyHandlingType }
+ */
+ public void setLoyaltyHandling(LoyaltyHandlingType value) {
+ this.loyaltyHandling = value;
+ }
+
+ /**
+ * Gets the value of the customerLanguage property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCustomerLanguage() {
+ return customerLanguage;
+ }
+
+ /**
+ * Sets the value of the customerLanguage property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCustomerLanguage(String value) {
+ this.customerLanguage = value;
+ }
+
+ /**
+ * Gets the value of the forceCustomerSelectionFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isForceCustomerSelectionFlag() {
+ if (forceCustomerSelectionFlag == null) {
+ return false;
+ } else {
+ return forceCustomerSelectionFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the forceCustomerSelectionFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setForceCustomerSelectionFlag(Boolean value) {
+ this.forceCustomerSelectionFlag = value;
+ }
+
+ /**
+ * Gets the value of the totalAmount property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getTotalAmount() {
+ return totalAmount;
+ }
+
+ /**
+ * Sets the value of the totalAmount property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setTotalAmount(BigDecimal value) {
+ this.totalAmount = value;
+ }
+
+ /**
+ * Gets the value of the paymentType property.
+ *
+ * @return possible object is {@link PaymentType }
+ */
+ public PaymentType getPaymentType() {
+ return paymentType;
+ }
+
+ /**
+ * Sets the value of the paymentType property.
+ *
+ * @param value allowed object is {@link PaymentType }
+ */
+ public void setPaymentType(PaymentType value) {
+ this.paymentType = value;
+ }
+
+ /**
+ * Gets the value of the cashBackFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public Boolean isCashBackFlag() {
+ return cashBackFlag;
+ }
+
+ /**
+ * Sets the value of the cashBackFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setCashBackFlag(Boolean value) {
+ this.cashBackFlag = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CardData.java b/src/main/java/com/adyen/model/nexo/CardData.java
new file mode 100644
index 000000000..a8d34837a
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CardData.java
@@ -0,0 +1,361 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Information related to the payment card used for the transaction. -- Usage: 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. In this case, the
+ *
+ * Java class for CardData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="CardData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="ProtectedCardData" type="{}ContentInformation" minOccurs="0"/>
+ * <element name="SensitiveCardData" type="{}SensitiveCardData" minOccurs="0"/>
+ * <element name="AllowedProductCode" type="{}AllowedProductCode" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="AllowedProduct" type="{}AllowedProduct" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="PaymentToken" type="{}PaymentToken" minOccurs="0"/>
+ * <element name="CustomerOrder" type="{}CustomerOrder" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="PaymentBrand" type="{}PaymentBrand" />
+ * <attribute name="MaskedPAN" type="{}MaskedPAN" />
+ * <attribute name="PaymentAccountRef" type="{}PaymentAccountRef" />
+ * <attribute name="EntryMode" type="{}EntryMode" />
+ * <attribute name="CardCountryCode" type="{}CardCountryCode" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CardData", propOrder = {
+ "protectedCardData",
+ "sensitiveCardData",
+ "allowedProductCode",
+ "allowedProduct",
+ "paymentToken",
+ "customerOrder"
+})
+public class CardData {
+
+ /**
+ * The Protected card data.
+ */
+ @XmlElement(name = "ProtectedCardData")
+ @Schema(description = "Sensitive information related to the payment card, protected by CMS. --Rule: SensitiveCardData protected by CMS EnvelopedData")
+ protected ContentInformation protectedCardData;
+ /**
+ * The Sensitive card data.
+ */
+ @XmlElement(name = "SensitiveCardData")
+ @Schema(description = "Sensitive information related to the payment card, entered or read by the Sale System. --Rule: If structure non empty and unprotected")
+ protected SensitiveCardData sensitiveCardData;
+ /**
+ * The Allowed product code.
+ */
+ @XmlElement(name = "AllowedProductCode")
+ @Schema(description = "Product codes that are payable by the payment card. --Rule: If ErrorCondition is \"PaymentRestriction\", some products are not payable by the payment card (payment response).", minLength = 1, maxLength = 20)
+ protected List allowedProductCode;
+ /**
+ * The Allowed product.
+ */
+ @XmlElement(name = "AllowedProduct")
+ @Schema(description = "Product that are payable by the payment card. --Rule: If the card has restrictions on product that can be purchased (card acquisition or balance inquiry response).")
+ protected List allowedProduct;
+ /**
+ * The Payment token.
+ */
+ @XmlElement(name = "PaymentToken")
+ @Schema(description = "Surrogate of the PAN (Primary Account Number) of the payment card to identify the payment mean of the customer. --Rule: Present in If requested in CardAcquisitionResponse or PaymentResponse if requested in the request or in the Login")
+ protected PaymentToken paymentToken;
+ /**
+ * The Customer order.
+ */
+ @XmlElement(name = "CustomerOrder")
+ @Schema(description = "Customer order attached to a card, recorded in the POI system. --Rule: If the list of customer orders has been requested.")
+ protected List customerOrder;
+ /**
+ * The Payment brand.
+ */
+ @XmlElement(name = "PaymentBrand")
+ @Schema(description = "Type of payment card --Rule: If card PAN is readable ")
+ protected String paymentBrand;
+ /**
+ * The Masked pan.
+ */
+ @XmlElement(name = "MaskedPan")
+ protected String maskedPAN;
+ /**
+ * The Payment account ref.
+ */
+ @XmlElement(name = "PaymentAccountRef")
+ @Schema(description = "Reference of the PAN, which identifies the PAN or the card uniquely, named also PAR (Payment Account Reference). This --Rule: Mandatory if available.")
+ protected String paymentAccountRef;
+ /**
+ * The Entry mode.
+ */
+ @XmlElement(name = "EntryMode")
+ @Schema(description = "Entry mode of the payment instrument information --Rule: Mandatory in the request")
+ protected List entryMode;
+ /**
+ * The Card country code.
+ */
+ @XmlElement(name = "CardCountryCode")
+ @Schema(description = "Country Code attached to the card (3 numerics). --Rule: If available in the card", minLength = 3, maxLength = 3)
+ protected String cardCountryCode;
+
+ /**
+ * Gets the value of the protectedCardData property.
+ *
+ * @return possible object is {@link ContentInformation }
+ */
+ public ContentInformation getProtectedCardData() {
+ return protectedCardData;
+ }
+
+ /**
+ * Sets the value of the protectedCardData property.
+ *
+ * @param value allowed object is {@link ContentInformation }
+ */
+ public void setProtectedCardData(ContentInformation value) {
+ this.protectedCardData = value;
+ }
+
+ /**
+ * Gets the value of the sensitiveCardData property.
+ *
+ * @return possible object is {@link SensitiveCardData }
+ */
+ public SensitiveCardData getSensitiveCardData() {
+ return sensitiveCardData;
+ }
+
+ /**
+ * Sets the value of the sensitiveCardData property.
+ *
+ * @param value allowed object is {@link SensitiveCardData }
+ */
+ public void setSensitiveCardData(SensitiveCardData value) {
+ this.sensitiveCardData = value;
+ }
+
+ /**
+ * Gets the value of the allowedProductCode property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the allowedProductCode property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getAllowedProductCode().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ * @return the allowed product code
+ */
+ public List getAllowedProductCode() {
+ if (allowedProductCode == null) {
+ allowedProductCode = new ArrayList<>();
+ }
+ return this.allowedProductCode;
+ }
+
+ /**
+ * Gets the value of the allowedProduct property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the allowedProduct property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getAllowedProduct().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link AllowedProduct }
+ *
+ * @return the allowed product
+ */
+ public List getAllowedProduct() {
+ if (allowedProduct == null) {
+ allowedProduct = new ArrayList<>();
+ }
+ return this.allowedProduct;
+ }
+
+ /**
+ * Gets the value of the paymentToken property.
+ *
+ * @return possible object is {@link PaymentToken }
+ */
+ public PaymentToken getPaymentToken() {
+ return paymentToken;
+ }
+
+ /**
+ * Sets the value of the paymentToken property.
+ *
+ * @param value allowed object is {@link PaymentToken }
+ */
+ public void setPaymentToken(PaymentToken value) {
+ this.paymentToken = value;
+ }
+
+ /**
+ * Gets the value of the customerOrder property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the customerOrder property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getCustomerOrder().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link CustomerOrder }
+ *
+ * @return the customer order
+ */
+ public List getCustomerOrder() {
+ if (customerOrder == null) {
+ customerOrder = new ArrayList<>();
+ }
+ return this.customerOrder;
+ }
+
+ /**
+ * Gets the value of the paymentBrand property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPaymentBrand() {
+ return paymentBrand;
+ }
+
+ /**
+ * Sets the value of the paymentBrand property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPaymentBrand(String value) {
+ this.paymentBrand = value;
+ }
+
+ /**
+ * Gets the value of the maskedPAN property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getMaskedPAN() {
+ return maskedPAN;
+ }
+
+ /**
+ * Sets the value of the maskedPAN property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setMaskedPAN(String value) {
+ this.maskedPAN = value;
+ }
+
+ /**
+ * Gets the value of the paymentAccountRef property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPaymentAccountRef() {
+ return paymentAccountRef;
+ }
+
+ /**
+ * Sets the value of the paymentAccountRef property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPaymentAccountRef(String value) {
+ this.paymentAccountRef = value;
+ }
+
+ /**
+ * Gets the value of the entryMode property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the entryMode property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getEntryMode().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link EntryModeType }
+ *
+ * @return the entry mode
+ */
+ public List getEntryMode() {
+ if (entryMode == null) {
+ entryMode = new ArrayList<>();
+ }
+ return this.entryMode;
+ }
+
+ /**
+ * Gets the value of the cardCountryCode property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCardCountryCode() {
+ return cardCountryCode;
+ }
+
+ /**
+ * Sets the value of the cardCountryCode property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCardCountryCode(String value) {
+ this.cardCountryCode = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CardReaderAPDURequest.java b/src/main/java/com/adyen/model/nexo/CardReaderAPDURequest.java
new file mode 100644
index 000000000..2ba25bb1e
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CardReaderAPDURequest.java
@@ -0,0 +1,186 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the Card Reader APDU Request messageType. -- Usage: It contains the APDU request to send to the chip of the card, and a possible invitation messageType to display on the CashierInterface or the CustomerInterface.
+ *
+ * Java class for CardReaderAPDURequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="CardReaderAPDURequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="APDUData" type="{}APDUData" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="APDUClass" use="required" type="{}APDUClass" />
+ * <attribute name="APDUInstruction" use="required" type="{}APDUInstruction" />
+ * <attribute name="APDUPar1" use="required" type="{}APDUPar1" />
+ * <attribute name="APDUPar2" use="required" type="{}APDUPar2" />
+ * <attribute name="APDUExpectedLength" type="{}APDUExpectedLength" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CardReaderAPDURequest", propOrder = {
+ "apduData"
+})
+public class CardReaderAPDURequest {
+
+ /**
+ * The Apdu data.
+ */
+ @XmlElement(name = "APDUData")
+ @Schema(description = "Data field of the APDU command (Lc + Data)")
+ protected byte[] apduData;
+ /**
+ * The Apdu class.
+ */
+ @XmlElement(name = "APDUClass", required = true)
+ @Schema(description = "Class field of the APDU command (CLA)", minLength = 1, maxLength = 1)
+ protected byte[] apduClass;
+ /**
+ * The Apdu instruction.
+ */
+ @XmlElement(name = "APDUInstruction", required = true)
+ @Schema(description = "Instruction field of the APDU command (INS)", minLength = 1, maxLength = 1)
+ protected byte[] apduInstruction;
+ /**
+ * The Apdu par 1.
+ */
+ @XmlElement(name = "APDUPar1", required = true)
+ @Schema(description = "Parameter 1 field of the APDU command (P1)", minLength = 1, maxLength = 1)
+ protected byte[] apduPar1;
+ /**
+ * The Apdu par 2.
+ */
+ @XmlElement(name = "APDUPar2", required = true)
+ @Schema(description = "Parameter 2 field of the APDU command(P2)", minLength = 1, maxLength = 1)
+ protected byte[] apduPar2;
+ /**
+ * The Apdu expected length.
+ */
+ @XmlElement(name = "APDUExpectedLength")
+ @Schema(description = "Expected length of the data field of the APDU response to the command (Le)", minLength = 1, maxLength = 1)
+ protected byte[] apduExpectedLength;
+
+ /**
+ * Gets the value of the apduData property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getAPDUData() {
+ return apduData;
+ }
+
+ /**
+ * Sets the value of the apduData property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setAPDUData(byte[] value) {
+ this.apduData = value;
+ }
+
+ /**
+ * Gets the value of the apduClass property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getAPDUClass() {
+ return apduClass;
+ }
+
+ /**
+ * Sets the value of the apduClass property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setAPDUClass(byte[] value) {
+ this.apduClass = value;
+ }
+
+ /**
+ * Gets the value of the apduInstruction property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getAPDUInstruction() {
+ return apduInstruction;
+ }
+
+ /**
+ * Sets the value of the apduInstruction property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setAPDUInstruction(byte[] value) {
+ this.apduInstruction = value;
+ }
+
+ /**
+ * Gets the value of the apduPar1 property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getAPDUPar1() {
+ return apduPar1;
+ }
+
+ /**
+ * Sets the value of the apduPar1 property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setAPDUPar1(byte[] value) {
+ this.apduPar1 = value;
+ }
+
+ /**
+ * Gets the value of the apduPar2 property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getAPDUPar2() {
+ return apduPar2;
+ }
+
+ /**
+ * Sets the value of the apduPar2 property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setAPDUPar2(byte[] value) {
+ this.apduPar2 = value;
+ }
+
+ /**
+ * Gets the value of the apduExpectedLength property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getAPDUExpectedLength() {
+ return apduExpectedLength;
+ }
+
+ /**
+ * Sets the value of the apduExpectedLength property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setAPDUExpectedLength(byte[] value) {
+ this.apduExpectedLength = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CardReaderAPDUResponse.java b/src/main/java/com/adyen/model/nexo/CardReaderAPDUResponse.java
new file mode 100644
index 000000000..d95a42764
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CardReaderAPDUResponse.java
@@ -0,0 +1,112 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the Card Reader APDU Response messageType. -- Usage: It contains the result of the requested service, APDU response sent by the chip of the card in response to the APDU request.
+ *
+ * Java class for CardReaderAPDUResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="CardReaderAPDUResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * <element name="APDUData" type="{}APDUData" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="CardStatusWords" use="required" type="{}CardStatusWords" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CardReaderAPDUResponse", propOrder = {
+ "response",
+ "apduData"
+})
+public class CardReaderAPDUResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Apdu data.
+ */
+ @XmlElement(name = "APDUData")
+ @Schema(description = "Data field of the APDU command (Lc + Data)")
+ protected byte[] apduData;
+ /**
+ * The Card status words.
+ */
+ @XmlElement(name = "CardStatusWords", required = true)
+ @Schema(description = "Status of a smartcard response to a command (SW1-SW2)")
+ protected byte[] cardStatusWords;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the apduData property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getAPDUData() {
+ return apduData;
+ }
+
+ /**
+ * Sets the value of the apduData property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setAPDUData(byte[] value) {
+ this.apduData = value;
+ }
+
+ /**
+ * Gets the value of the cardStatusWords property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getCardStatusWords() {
+ return cardStatusWords;
+ }
+
+ /**
+ * Sets the value of the cardStatusWords property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setCardStatusWords(byte[] value) {
+ this.cardStatusWords = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CardReaderInitRequest.java b/src/main/java/com/adyen/model/nexo/CardReaderInitRequest.java
new file mode 100644
index 000000000..666e2508b
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CardReaderInitRequest.java
@@ -0,0 +1,180 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigInteger;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Card Reader Init Request messageType. -- Usage: It contains possible restrictions for the type of card reader to use, and a possible invitation messageType to display on the CashierInterface or the CustomerInterface.
+ *
+ * Java class for CardReaderInitRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="CardReaderInitRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="ForceEntryMode" type="{}ForceEntryMode" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="DisplayOutput" type="{}DisplayOutput" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="WarmResetFlag" type="{}WarmResetFlag" />
+ * <attribute name="LeaveCardFlag" type="{}LeaveCardFlag" default="true" />
+ * <attribute name="MaxWaitingTime" type="{}MaxWaitingTime" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CardReaderInitRequest", propOrder = {
+ "forceEntryMode",
+ "displayOutput"
+})
+public class CardReaderInitRequest {
+
+ /**
+ * The Force entry mode.
+ */
+ @XmlElement(name = "ForceEntryMode")
+ @Schema(description = "Payment instrument entry mode requested by the Sale System.")
+ protected List forceEntryMode;
+ /**
+ * The Display output.
+ */
+ @XmlElement(name = "DisplayOutput")
+ @Schema(description = "Information to display and the way to process the display.")
+ protected DisplayOutput displayOutput;
+ /**
+ * The Warm reset flag.
+ */
+ @XmlElement(name = "WarmResetFlag")
+ @Schema(description = "Flag to request a warm reset on a chip.")
+ protected Boolean warmResetFlag;
+ /**
+ * The Leave card flag.
+ */
+ @XmlElement(name = "LeaveCardFlag")
+ @Schema(description = "Indicates if the POI has to keep the card in the reader for a smart card.")
+ protected Boolean leaveCardFlag;
+ /**
+ * The Max waiting time.
+ */
+ @XmlElement(name = "MaxWaitingTime")
+ @Schema(description = "Maximum time to wait for the request processing in seconds.")
+ protected BigInteger maxWaitingTime;
+
+ /**
+ * Gets the value of the forceEntryMode property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the forceEntryMode property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getForceEntryMode().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link ForceEntryModeType }
+ *
+ * @return the force entry mode
+ */
+ public List getForceEntryMode() {
+ if (forceEntryMode == null) {
+ forceEntryMode = new ArrayList<>();
+ }
+ return this.forceEntryMode;
+ }
+
+ /**
+ * Gets the value of the displayOutput property.
+ *
+ * @return possible object is {@link DisplayOutput }
+ */
+ public DisplayOutput getDisplayOutput() {
+ return displayOutput;
+ }
+
+ /**
+ * Sets the value of the displayOutput property.
+ *
+ * @param value allowed object is {@link DisplayOutput }
+ */
+ public void setDisplayOutput(DisplayOutput value) {
+ this.displayOutput = value;
+ }
+
+ /**
+ * Gets the value of the warmResetFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public Boolean isWarmResetFlag() {
+ return warmResetFlag;
+ }
+
+ /**
+ * Sets the value of the warmResetFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setWarmResetFlag(Boolean value) {
+ this.warmResetFlag = value;
+ }
+
+ /**
+ * Gets the value of the leaveCardFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isLeaveCardFlag() {
+ if (leaveCardFlag == null) {
+ return true;
+ } else {
+ return leaveCardFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the leaveCardFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setLeaveCardFlag(Boolean value) {
+ this.leaveCardFlag = value;
+ }
+
+ /**
+ * Gets the value of the maxWaitingTime property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getMaxWaitingTime() {
+ return maxWaitingTime;
+ }
+
+ /**
+ * Sets the value of the maxWaitingTime property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setMaxWaitingTime(BigInteger value) {
+ this.maxWaitingTime = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CardReaderInitResponse.java b/src/main/java/com/adyen/model/nexo/CardReaderInitResponse.java
new file mode 100644
index 000000000..e6eb633b2
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CardReaderInitResponse.java
@@ -0,0 +1,169 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Card Reader Init Response messageType. -- Usage: It contains the result of the Card Reader by the POI Card Reader (magnetic stripe content, or chip initialisation data).
+ *
+ * Java class for CardReaderInitResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="CardReaderInitResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * <element name="TrackData" type="{}TrackData" maxOccurs="4" minOccurs="0"/>
+ * <element name="ICCResetData" type="{}ICCResetData" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="EntryMode" type="{}EntryMode" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CardReaderInitResponse", propOrder = {
+ "response",
+ "trackData",
+ "iccResetData"
+})
+public class CardReaderInitResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Track data.
+ */
+ @XmlElement(name = "TrackData")
+ @Schema(description = "Magnetic track or magnetic ink characters line. --Rule: if EntryMode is RFID or MagStripe")
+ protected List trackData;
+ /**
+ * The Icc reset data.
+ */
+ @XmlElement(name = "ICCResetData")
+ @Schema(description = "Data of a Chip Card related to the reset of the chip. --Rule: if EntryMode is ICC, EMVContactless or SynchronousICC")
+ protected ICCResetData iccResetData;
+ /**
+ * The Entry mode.
+ */
+ @XmlElement(name = "EntryMode")
+ @Schema(description = "Entry mode of the payment instrument information --Rule: RFID, MagStripe, ICC, EMVContactless or SynchronousICC")
+ protected List entryMode;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the trackData property.
+ *
+ *
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the trackData property.
+ *
+ *
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getTrackData().add(newItem);
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link TrackData }
+ *
+ * @return the track data
+ */
+ public List getTrackData() {
+ if (trackData == null) {
+ trackData = new ArrayList<>();
+ }
+ return this.trackData;
+ }
+
+ /**
+ * Gets the value of the iccResetData property.
+ *
+ * @return possible object is {@link ICCResetData }
+ */
+ public ICCResetData getICCResetData() {
+ return iccResetData;
+ }
+
+ /**
+ * Sets the value of the iccResetData property.
+ *
+ * @param value allowed object is {@link ICCResetData }
+ */
+ public void setICCResetData(ICCResetData value) {
+ this.iccResetData = value;
+ }
+
+ /**
+ * Gets the value of the entryMode property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the entryMode property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getEntryMode().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link EntryModeType }
+ *
+ * @return the entry mode
+ */
+ public List getEntryMode() {
+ if (entryMode == null) {
+ entryMode = new ArrayList<>();
+ }
+ return this.entryMode;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CardReaderPowerOffRequest.java b/src/main/java/com/adyen/model/nexo/CardReaderPowerOffRequest.java
new file mode 100644
index 000000000..04f9a4258
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CardReaderPowerOffRequest.java
@@ -0,0 +1,87 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigInteger;
+
+
+/**
+ * Definition: Content of the Card Reader Power-Off Request messageType. -- Usage: It contains a possible invitation messageType to display on the CashierInterface or the CustomerInterface, for removing the card.
+ *
+ * Java class for CardReaderPowerOffRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="CardReaderPowerOffRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DisplayOutput" type="{}DisplayOutput" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="MaxWaitingTime" type="{}MaxWaitingTime" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CardReaderPowerOffRequest", propOrder = {
+ "displayOutput"
+})
+public class CardReaderPowerOffRequest {
+
+ /**
+ * The Display output.
+ */
+ @XmlElement(name = "DisplayOutput")
+ @Schema(description = "Information to display and the way to process the display.")
+ protected DisplayOutput displayOutput;
+ /**
+ * The Max waiting time.
+ */
+ @XmlElement(name = "MaxWaitingTime")
+ @Schema(description = "Maximum time to wait for the request processing in seconds.")
+ protected BigInteger maxWaitingTime;
+
+ /**
+ * Gets the value of the displayOutput property.
+ *
+ * @return possible object is {@link DisplayOutput }
+ */
+ public DisplayOutput getDisplayOutput() {
+ return displayOutput;
+ }
+
+ /**
+ * Sets the value of the displayOutput property.
+ *
+ * @param value allowed object is {@link DisplayOutput }
+ */
+ public void setDisplayOutput(DisplayOutput value) {
+ this.displayOutput = value;
+ }
+
+ /**
+ * Gets the value of the maxWaitingTime property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getMaxWaitingTime() {
+ return maxWaitingTime;
+ }
+
+ /**
+ * Sets the value of the maxWaitingTime property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setMaxWaitingTime(BigInteger value) {
+ this.maxWaitingTime = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CardReaderPowerOffResponse.java b/src/main/java/com/adyen/model/nexo/CardReaderPowerOffResponse.java
new file mode 100644
index 000000000..6e67f99fd
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CardReaderPowerOffResponse.java
@@ -0,0 +1,61 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the Card Reader Power-Off Response messageType. -- Usage: It contains the result of the processed command.
+ *
+ * Java class for CardReaderPowerOffResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="CardReaderPowerOffResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CardReaderPowerOffResponse", propOrder = {
+ "response"
+})
+public class CardReaderPowerOffResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CardholderPIN.java b/src/main/java/com/adyen/model/nexo/CardholderPIN.java
new file mode 100644
index 000000000..adf86303e
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CardholderPIN.java
@@ -0,0 +1,111 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Encrypted PIN and related information -- Usage: To request PIN Verify to the POI, or to get the encrypted PIN block.
+ *
+ * Java class for CardholderPIN complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="CardholderPIN">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="EncrPINBlock" type="{}ContentInformation"/>
+ * </sequence>
+ * <attribute name="PINFormat" use="required" type="{}PINFormatType" />
+ * <attribute name="AdditionalInput" type="{}AdditionalInput" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CardholderPIN", propOrder = {
+ "encrPINBlock"
+})
+public class CardholderPIN {
+
+ /**
+ * The Encr pin block.
+ */
+ @XmlElement(name = "EncrPINBlock", required = true)
+ @Schema(description = "Encrypted PIN")
+ protected ContentInformation encrPINBlock;
+ /**
+ * The Pin format.
+ */
+ @XmlElement(name = "PINFormat", required = true)
+ @Schema(description = "Identify the format of the PIN before encryption.")
+ protected PINFormatType pinFormat;
+ /**
+ * The Additional input.
+ */
+ @XmlElement(name = "AdditionalInput")
+ @Schema(description = "Additional information required to verify the PIN like part of the PAN, or driver ID.")
+ protected String additionalInput;
+
+ /**
+ * Gets the value of the encrPINBlock property.
+ *
+ * @return possible object is {@link ContentInformation }
+ */
+ public ContentInformation getEncrPINBlock() {
+ return encrPINBlock;
+ }
+
+ /**
+ * Sets the value of the encrPINBlock property.
+ *
+ * @param value allowed object is {@link ContentInformation }
+ */
+ public void setEncrPINBlock(ContentInformation value) {
+ this.encrPINBlock = value;
+ }
+
+ /**
+ * Gets the value of the pinFormat property.
+ *
+ * @return possible object is {@link PINFormatType }
+ */
+ public PINFormatType getPINFormat() {
+ return pinFormat;
+ }
+
+ /**
+ * Sets the value of the pinFormat property.
+ *
+ * @param value allowed object is {@link PINFormatType }
+ */
+ public void setPINFormat(PINFormatType value) {
+ this.pinFormat = value;
+ }
+
+ /**
+ * Gets the value of the additionalInput property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getAdditionalInput() {
+ return additionalInput;
+ }
+
+ /**
+ * Sets the value of the additionalInput property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setAdditionalInput(String value) {
+ this.additionalInput = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CashHandlingDevice.java b/src/main/java/com/adyen/model/nexo/CashHandlingDevice.java
new file mode 100644
index 000000000..0101b1b4b
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CashHandlingDevice.java
@@ -0,0 +1,124 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Status of cash handling device. -- Usage: Indicate the status and the remaining coins and bill in a cash handling device.
+ *
+ * Java class for CashHandlingDevice complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="CashHandlingDevice">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="CoinsOrBills" type="{}CoinsOrBills" maxOccurs="unbounded"/>
+ * </sequence>
+ * <attribute name="CashHandlingOKFlag" use="required" type="{}CashHandlingOKFlag" />
+ * <attribute name="Currency" use="required" type="{}ISOCurrency3A" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CashHandlingDevice", propOrder = {
+ "coinsOrBills"
+})
+public class CashHandlingDevice {
+
+ /**
+ * The Coins or bills.
+ */
+ @XmlElement(name = "CoinsOrBills", required = true)
+ @Schema(description = "Number of coins or bills of a given value.")
+ protected List coinsOrBills;
+ /**
+ * The Cash handling ok flag.
+ */
+ @XmlElement(name = "CashHandlingOKFlag", required = true)
+ @Schema(description = "Indicates if the cash handling device is working and usable.")
+ protected boolean cashHandlingOKFlag;
+ /**
+ * The Currency.
+ */
+ @XmlElement(name = "Currency", required = true)
+ @Schema(description = "Currency of a monetary amount.")
+ protected String currency;
+
+ /**
+ * Gets the value of the coinsOrBills property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the coinsOrBills property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getCoinsOrBills().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link CoinsOrBills }
+ *
+ * @return the coins or bills
+ */
+ public List getCoinsOrBills() {
+ if (coinsOrBills == null) {
+ coinsOrBills = new ArrayList<>();
+ }
+ return this.coinsOrBills;
+ }
+
+ /**
+ * Gets the value of the cashHandlingOKFlag property.
+ *
+ * @return the boolean
+ */
+ public boolean isCashHandlingOKFlag() {
+ return cashHandlingOKFlag;
+ }
+
+ /**
+ * Sets the value of the cashHandlingOKFlag property.
+ *
+ * @param value the value
+ */
+ public void setCashHandlingOKFlag(boolean value) {
+ this.cashHandlingOKFlag = value;
+ }
+
+ /**
+ * Gets the value of the currency property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCurrency() {
+ return currency;
+ }
+
+ /**
+ * Sets the value of the currency property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCurrency(String value) {
+ this.currency = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CharacterHeightType.java b/src/main/java/com/adyen/model/nexo/CharacterHeightType.java
new file mode 100644
index 000000000..1a85a7a04
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CharacterHeightType.java
@@ -0,0 +1,70 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for CharacterHeightType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="CharacterHeightType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="SingleHeight"/>
+ * <enumeration value="DoubleHeight"/>
+ * <enumeration value="HalfHeight"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "CharacterHeightType")
+@XmlEnum
+public enum CharacterHeightType {
+
+ /**
+ * Single height character height type.
+ */
+ @XmlEnumValue("SingleHeight")
+ SINGLE_HEIGHT("SingleHeight"),
+ /**
+ * Double height character height type.
+ */
+ @XmlEnumValue("DoubleHeight")
+ DOUBLE_HEIGHT("DoubleHeight"),
+ /**
+ * Half height character height type.
+ */
+ @XmlEnumValue("HalfHeight")
+ HALF_HEIGHT("HalfHeight");
+ private final String value;
+
+ CharacterHeightType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value character height type.
+ *
+ * @param v the v
+ * @return the character height type
+ */
+ public static CharacterHeightType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CharacterStyleType.java b/src/main/java/com/adyen/model/nexo/CharacterStyleType.java
new file mode 100644
index 000000000..fcc510d1d
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CharacterStyleType.java
@@ -0,0 +1,76 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for CharacterStyleType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="CharacterStyleType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Normal"/>
+ * <enumeration value="Bold"/>
+ * <enumeration value="Italic"/>
+ * <enumeration value="Underlined"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "CharacterStyleType")
+@XmlEnum
+public enum CharacterStyleType {
+
+ /**
+ * Normal character style type.
+ */
+ @XmlEnumValue("Normal")
+ NORMAL("Normal"),
+ /**
+ * Bold character style type.
+ */
+ @XmlEnumValue("Bold")
+ BOLD("Bold"),
+ /**
+ * Italic character style type.
+ */
+ @XmlEnumValue("Italic")
+ ITALIC("Italic"),
+ /**
+ * Underlined character style type.
+ */
+ @XmlEnumValue("Underlined")
+ UNDERLINED("Underlined");
+ private final String value;
+
+ CharacterStyleType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value character style type.
+ *
+ * @param v the v
+ * @return the character style type
+ */
+ public static CharacterStyleType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CharacterWidthType.java b/src/main/java/com/adyen/model/nexo/CharacterWidthType.java
new file mode 100644
index 000000000..1eff1f6be
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CharacterWidthType.java
@@ -0,0 +1,64 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for CharacterWidthType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="CharacterWidthType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="SingleWidth"/>
+ * <enumeration value="DoubleWidth"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "CharacterWidthType")
+@XmlEnum
+public enum CharacterWidthType {
+
+ /**
+ * Single width character width type.
+ */
+ @XmlEnumValue("SingleWidth")
+ SINGLE_WIDTH("SingleWidth"),
+ /**
+ * Double width character width type.
+ */
+ @XmlEnumValue("DoubleWidth")
+ DOUBLE_WIDTH("DoubleWidth");
+ private final String value;
+
+ CharacterWidthType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value character width type.
+ *
+ * @param v the v
+ * @return the character width type
+ */
+ public static CharacterWidthType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CheckData.java b/src/main/java/com/adyen/model/nexo/CheckData.java
new file mode 100644
index 000000000..da20fa5fa
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CheckData.java
@@ -0,0 +1,219 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Information related to the paper check used for the transaction. -- Usage: 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.
+ *
+ * Java class for CheckData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="CheckData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="BankID" type="{}BankID" minOccurs="0"/>
+ * <element name="AccountNumber" type="{}AccountNumber" minOccurs="0"/>
+ * <element name="CheckNumber" type="{}CheckNumber" minOccurs="0"/>
+ * <element name="TrackData" type="{}TrackData" minOccurs="0"/>
+ * <element name="CheckCardNumber" type="{}CheckCardNumber" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="TypeCode" type="{}CheckTypeCodeType" default="Personal" />
+ * <attribute name="Country" type="{}ISOCountry3A" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CheckData", propOrder = {
+ "bankID",
+ "accountNumber",
+ "checkNumber",
+ "trackData",
+ "checkCardNumber"
+})
+public class CheckData {
+
+ /**
+ * The Bank id.
+ */
+ @XmlElement(name = "BankID")
+ @Schema(description = "Identification of the bank. --Rule: Mandatory if TrackData absent")
+ protected String bankID;
+ /**
+ * The Account number.
+ */
+ @XmlElement(name = "AccountNumber")
+ @Schema(description = "Identification of the customer account. --Rule: Mandatory if TrackData absent")
+ protected String accountNumber;
+ /**
+ * The Check number.
+ */
+ @XmlElement(name = "CheckNumber")
+ @Schema(description = "Identification of the bank check. --Rule: Mandatory if TrackData absent")
+ protected String checkNumber;
+ /**
+ * The Track data.
+ */
+ @XmlElement(name = "TrackData")
+ @Schema(description = "Magnetic track or magnetic ink characters line. --Rule: Mandatory if CheckNumber absent")
+ protected TrackData trackData;
+ /**
+ * The Check card number.
+ */
+ @XmlElement(name = "CheckCardNumber")
+ @Schema(description = "Check guarantee card number. --Rule: If provided by the customer")
+ protected String checkCardNumber;
+ /**
+ * The Type code.
+ */
+ @XmlElement(name = "TypeCode")
+ @Schema(description = "Type of bank check.")
+ protected CheckTypeCodeType typeCode;
+ /**
+ * The Country.
+ */
+ @XmlElement(name = "Country")
+ @Schema(description = "Country of the bank check. --Rule: Absent if country of the Sale system")
+ protected String country;
+
+ /**
+ * Gets the value of the bankID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getBankID() {
+ return bankID;
+ }
+
+ /**
+ * Sets the value of the bankID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setBankID(String value) {
+ this.bankID = value;
+ }
+
+ /**
+ * Gets the value of the accountNumber property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getAccountNumber() {
+ return accountNumber;
+ }
+
+ /**
+ * Sets the value of the accountNumber property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setAccountNumber(String value) {
+ this.accountNumber = value;
+ }
+
+ /**
+ * Gets the value of the checkNumber property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCheckNumber() {
+ return checkNumber;
+ }
+
+ /**
+ * Sets the value of the checkNumber property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCheckNumber(String value) {
+ this.checkNumber = value;
+ }
+
+ /**
+ * Gets the value of the trackData property.
+ *
+ * @return possible object is {@link TrackData }
+ */
+ public TrackData getTrackData() {
+ return trackData;
+ }
+
+ /**
+ * Sets the value of the trackData property.
+ *
+ * @param value allowed object is {@link TrackData }
+ */
+ public void setTrackData(TrackData value) {
+ this.trackData = value;
+ }
+
+ /**
+ * Gets the value of the checkCardNumber property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCheckCardNumber() {
+ return checkCardNumber;
+ }
+
+ /**
+ * Sets the value of the checkCardNumber property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCheckCardNumber(String value) {
+ this.checkCardNumber = value;
+ }
+
+ /**
+ * Gets the value of the type property.
+ *
+ * @return possible object is {@link CheckTypeCodeType }
+ */
+ public CheckTypeCodeType getTypeCode() {
+ if (typeCode == null) {
+ return CheckTypeCodeType.PERSONAL;
+ } else {
+ return typeCode;
+ }
+ }
+
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value allowed object is {@link CheckTypeCodeType }
+ */
+ public void setTypeCode(CheckTypeCodeType value) {
+ this.typeCode = value;
+ }
+
+ /**
+ * Gets the value of the country property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCountry() {
+ return country;
+ }
+
+ /**
+ * Sets the value of the country property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCountry(String value) {
+ this.country = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CheckTypeCodeType.java b/src/main/java/com/adyen/model/nexo/CheckTypeCodeType.java
new file mode 100644
index 000000000..a93652603
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CheckTypeCodeType.java
@@ -0,0 +1,64 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for CheckTypeCodeType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="CheckTypeCodeType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Personal"/>
+ * <enumeration value="Company"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "CheckTypeCodeType")
+@XmlEnum
+public enum CheckTypeCodeType {
+
+ /**
+ * Personal check type code type.
+ */
+ @XmlEnumValue("Personal")
+ PERSONAL("Personal"),
+ /**
+ * Company check type code type.
+ */
+ @XmlEnumValue("Company")
+ COMPANY("Company");
+ private final String value;
+
+ CheckTypeCodeType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value check type code type.
+ *
+ * @param v the v
+ * @return the check type code type
+ */
+ public static CheckTypeCodeType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CoinsOrBills.java b/src/main/java/com/adyen/model/nexo/CoinsOrBills.java
new file mode 100644
index 000000000..3eaa590ee
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CoinsOrBills.java
@@ -0,0 +1,84 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
+
+/**
+ * Definition: Number of coins or bills of a given value. -- Usage: 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.
+ *
+ * Java class for CoinsOrBills complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="CoinsOrBills">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="UnitValue" use="required" type="{}SimpleAmountType" />
+ * <attribute name="Number" use="required" type="{}Number" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CoinsOrBills")
+public class CoinsOrBills {
+
+ /**
+ * The Unit value.
+ */
+ @XmlElement(name = "UnitValue", required = true)
+ @Schema(description = "Value of a coin or bill.")
+ protected BigDecimal unitValue;
+ /**
+ * The Number.
+ */
+ @XmlElement(name = "Number", required = true)
+ @Schema(description = "Number of elements")
+ protected BigInteger number;
+
+ /**
+ * Gets the value of the unitValue property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getUnitValue() {
+ return unitValue;
+ }
+
+ /**
+ * Sets the value of the unitValue property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setUnitValue(BigDecimal value) {
+ this.unitValue = value;
+ }
+
+ /**
+ * Gets the value of the number property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getNumber() {
+ return number;
+ }
+
+ /**
+ * Sets the value of the number property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setNumber(BigInteger value) {
+ this.number = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/ColorType.java b/src/main/java/com/adyen/model/nexo/ColorType.java
new file mode 100644
index 000000000..56d83e416
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/ColorType.java
@@ -0,0 +1,100 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for ColorType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="ColorType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="White"/>
+ * <enumeration value="Black"/>
+ * <enumeration value="Red"/>
+ * <enumeration value="Green"/>
+ * <enumeration value="Blue"/>
+ * <enumeration value="Yellow"/>
+ * <enumeration value="Magenta"/>
+ * <enumeration value="Cyan"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "ColorType")
+@XmlEnum
+public enum ColorType {
+
+ /**
+ * White color type.
+ */
+ @XmlEnumValue("White")
+ WHITE("White"),
+ /**
+ * Black color type.
+ */
+ @XmlEnumValue("Black")
+ BLACK("Black"),
+ /**
+ * Red color type.
+ */
+ @XmlEnumValue("Red")
+ RED("Red"),
+ /**
+ * Green color type.
+ */
+ @XmlEnumValue("Green")
+ GREEN("Green"),
+ /**
+ * Blue color type.
+ */
+ @XmlEnumValue("Blue")
+ BLUE("Blue"),
+ /**
+ * Yellow color type.
+ */
+ @XmlEnumValue("Yellow")
+ YELLOW("Yellow"),
+ /**
+ * Magenta color type.
+ */
+ @XmlEnumValue("Magenta")
+ MAGENTA("Magenta"),
+ /**
+ * Cyan color type.
+ */
+ @XmlEnumValue("Cyan")
+ CYAN("Cyan");
+ private final String value;
+
+ ColorType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value color type.
+ *
+ * @param v the v
+ * @return the color type
+ */
+ public static ColorType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/ContentInformation.java b/src/main/java/com/adyen/model/nexo/ContentInformation.java
new file mode 100644
index 000000000..cfaf24eb0
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/ContentInformation.java
@@ -0,0 +1,184 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: General Cryptographic Message Syntax (CMS) data structure -- Reference: RFC 3852: Cryptographic Message Syntax (CMS) -- Usage: This data structure contains two data elements: The type of content of the CMS data structure The content itself These CMS data structures could be nested to allow a sequence of cryptographic processings on a part of a messageType (e.g.
+ *
+ * Java class for ContentInformation complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="ContentInformation">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <choice>
+ * <element name="EnvelopedData" type="{}EnvelopedData"/>
+ * <element name="AuthenticatedData" type="{}AuthenticatedData"/>
+ * <element name="SignedData" type="{}SignedData"/>
+ * <element name="DigestedData" type="{}DigestedData"/>
+ * <element name="NamedKeyEncryptedData" type="{}NamedKeyEncryptedData"/>
+ * </choice>
+ * </sequence>
+ * <attribute name="Content" use="required" type="{}ContentType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ContentInformation", propOrder = {
+ "envelopedData",
+ "authenticatedData",
+ "signedData",
+ "digestedData",
+ "namedKeyEncryptedData"
+})
+public class ContentInformation {
+
+ /**
+ * The Enveloped data.
+ */
+ @XmlElement(name = "EnvelopedData")
+ protected EnvelopedData envelopedData;
+ /**
+ * The Authenticated data.
+ */
+ @XmlElement(name = "AuthenticatedData")
+ protected AuthenticatedData authenticatedData;
+ /**
+ * The Signed data.
+ */
+ @XmlElement(name = "SignedData")
+ protected SignedData signedData;
+ /**
+ * The Digested data.
+ */
+ @XmlElement(name = "DigestedData")
+ protected DigestedData digestedData;
+ /**
+ * The Named key encrypted data.
+ */
+ @XmlElement(name = "NamedKeyEncryptedData")
+ protected NamedKeyEncryptedData namedKeyEncryptedData;
+ /**
+ * The Content.
+ */
+ @XmlElement(name = "ContentType", required = true)
+ protected ContentType contentType;
+
+ /**
+ * Gets the value of the envelopedData property.
+ *
+ * @return possible object is {@link EnvelopedData }
+ */
+ public EnvelopedData getEnvelopedData() {
+ return envelopedData;
+ }
+
+ /**
+ * Sets the value of the envelopedData property.
+ *
+ * @param value allowed object is {@link EnvelopedData }
+ */
+ public void setEnvelopedData(EnvelopedData value) {
+ this.envelopedData = value;
+ }
+
+ /**
+ * Gets the value of the authenticatedData property.
+ *
+ * @return possible object is {@link AuthenticatedData }
+ */
+ public AuthenticatedData getAuthenticatedData() {
+ return authenticatedData;
+ }
+
+ /**
+ * Sets the value of the authenticatedData property.
+ *
+ * @param value allowed object is {@link AuthenticatedData }
+ */
+ public void setAuthenticatedData(AuthenticatedData value) {
+ this.authenticatedData = value;
+ }
+
+ /**
+ * Gets the value of the signedData property.
+ *
+ * @return possible object is {@link SignedData }
+ */
+ public SignedData getSignedData() {
+ return signedData;
+ }
+
+ /**
+ * Sets the value of the signedData property.
+ *
+ * @param value allowed object is {@link SignedData }
+ */
+ public void setSignedData(SignedData value) {
+ this.signedData = value;
+ }
+
+ /**
+ * Gets the value of the digestedData property.
+ *
+ * @return possible object is {@link DigestedData }
+ */
+ public DigestedData getDigestedData() {
+ return digestedData;
+ }
+
+ /**
+ * Sets the value of the digestedData property.
+ *
+ * @param value allowed object is {@link DigestedData }
+ */
+ public void setDigestedData(DigestedData value) {
+ this.digestedData = value;
+ }
+
+ /**
+ * Gets the value of the namedKeyEncryptedData property.
+ *
+ * @return possible object is {@link NamedKeyEncryptedData }
+ */
+ public NamedKeyEncryptedData getNamedKeyEncryptedData() {
+ return namedKeyEncryptedData;
+ }
+
+ /**
+ * Sets the value of the namedKeyEncryptedData property.
+ *
+ * @param value allowed object is {@link NamedKeyEncryptedData }
+ */
+ public void setNamedKeyEncryptedData(NamedKeyEncryptedData value) {
+ this.namedKeyEncryptedData = value;
+ }
+
+ /**
+ * Gets the value of the contentType property.
+ *
+ * @return possible object is {@link ContentType }
+ */
+ public ContentType getContentType() {
+ return contentType;
+ }
+
+ /**
+ * Sets the value of the contentType property.
+ *
+ * @param value allowed object is {@link ContentType }
+ */
+ public void setContentType(ContentType value) {
+ this.contentType = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/ContentType.java b/src/main/java/com/adyen/model/nexo/ContentType.java
new file mode 100644
index 000000000..07b203e69
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/ContentType.java
@@ -0,0 +1,94 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for ContentType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="ContentType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="id-data"/>
+ * <enumeration value="id-signedData"/>
+ * <enumeration value="id-envelopedData"/>
+ * <enumeration value="id-digestedData"/>
+ * <enumeration value="id-encryptedData"/>
+ * <enumeration value="id-ct-authData"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "ContentType")
+@XmlEnum
+public enum ContentType {
+
+
+ /**
+ * Generic, non cryptographic, or unqualified data content - (OID: iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs7(7) 1)
+ */
+ @XmlEnumValue("id-data")
+ ID_DATA("id-data"),
+
+ /**
+ * Signature CMS data content - (OID: iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs7(7) 2)
+ */
+ @XmlEnumValue("id-signedData")
+ ID_SIGNED_DATA("id-signedData"),
+
+ /**
+ * Encrypted CMS data content, with encryption key - (OID: iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs7(7) 3)
+ */
+ @XmlEnumValue("id-envelopedData")
+ ID_ENVELOPED_DATA("id-envelopedData"),
+
+ /**
+ * Message digest CMS data content - (OID: iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs7(7) 5)
+ */
+ @XmlEnumValue("id-digestedData")
+ ID_DIGESTED_DATA("id-digestedData"),
+
+ /**
+ * Encrypted CMS data content - (OID: iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs7(7) 6)
+ */
+ @XmlEnumValue("id-encryptedData")
+ ID_ENCRYPTED_DATA("id-encryptedData"),
+
+ /**
+ * MAC CMS data content, with encryption key - (OID: iso(1) member- body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) smime(16) ct(1) 2)
+ */
+ @XmlEnumValue("id-ct-authData")
+ ID_CT_AUTH_DATA("id-ct-authData");
+ private final String value;
+
+ ContentType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value content type.
+ *
+ * @param v the v
+ * @return the content type
+ */
+ public static ContentType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CurrencyConversion.java b/src/main/java/com/adyen/model/nexo/CurrencyConversion.java
new file mode 100644
index 000000000..e68687fdd
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CurrencyConversion.java
@@ -0,0 +1,193 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+
+
+/**
+ * Definition: Information related to a currency conversion -- Usage: 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)
+ *
+ * Java class for CurrencyConversion complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="CurrencyConversion">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="ConvertedAmount" type="{}Amount"/>
+ * <element name="Commission" type="{}SimpleAmountType" minOccurs="0"/>
+ * <element name="Declaration" type="{}Declaration" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="CustomerApprovedFlag" type="{}CustomerApprovedFlag" default="true" />
+ * <attribute name="Rate" type="{}Rate" />
+ * <attribute name="Markup" type="{}Markup" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CurrencyConversion", propOrder = {
+ "convertedAmount",
+ "commission",
+ "declaration"
+})
+public class CurrencyConversion {
+
+ /**
+ * The Converted amount.
+ */
+ @XmlElement(name = "ConvertedAmount", required = true)
+ @Schema(description = "Amount after a currency conversion.")
+ protected Amount convertedAmount;
+ /**
+ * The Commission.
+ */
+ @XmlElement(name = "Commission")
+ @Schema(description = "Commission for a service. --Rule: Commission of the conversion.")
+ protected BigDecimal commission;
+ /**
+ * The Declaration.
+ */
+ @XmlElement(name = "Declaration")
+ @Schema(description = "Declaration to present to the customer or the cashier for validation. --Rule: If a declaration has to be presented to the customer")
+ protected String declaration;
+ /**
+ * The Customer approved flag.
+ */
+ @XmlElement(name = "CustomerApprovedFlag")
+ @Schema(description = "Notify if the customer has approved something.")
+ protected Boolean customerApprovedFlag;
+ /**
+ * The Rate.
+ */
+ @XmlElement(name = "Rate")
+ @Schema(description = "Rate of currency conversion. --Rule: Conversion rate of the target currency against the source currency.")
+ protected BigDecimal rate;
+ /**
+ * The Markup.
+ */
+ @XmlElement(name = "Markup")
+ @Schema(description = "Markup of an amount in percentage. --Rule: Markup of the conversion.")
+ protected BigDecimal markup;
+
+ /**
+ * Gets the value of the convertedAmount property.
+ *
+ * @return possible object is {@link Amount }
+ */
+ public Amount getConvertedAmount() {
+ return convertedAmount;
+ }
+
+ /**
+ * Sets the value of the convertedAmount property.
+ *
+ * @param value allowed object is {@link Amount }
+ */
+ public void setConvertedAmount(Amount value) {
+ this.convertedAmount = value;
+ }
+
+ /**
+ * Gets the value of the commission property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getCommission() {
+ return commission;
+ }
+
+ /**
+ * Sets the value of the commission property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setCommission(BigDecimal value) {
+ this.commission = value;
+ }
+
+ /**
+ * Gets the value of the declaration property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getDeclaration() {
+ return declaration;
+ }
+
+ /**
+ * Sets the value of the declaration property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setDeclaration(String value) {
+ this.declaration = value;
+ }
+
+ /**
+ * Gets the value of the customerApprovedFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isCustomerApprovedFlag() {
+ if (customerApprovedFlag == null) {
+ return true;
+ } else {
+ return customerApprovedFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the customerApprovedFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setCustomerApprovedFlag(Boolean value) {
+ this.customerApprovedFlag = value;
+ }
+
+ /**
+ * Gets the value of the rate property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getRate() {
+ return rate;
+ }
+
+ /**
+ * Sets the value of the rate property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setRate(BigDecimal value) {
+ this.rate = value;
+ }
+
+ /**
+ * Gets the value of the markup property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getMarkup() {
+ return markup;
+ }
+
+ /**
+ * Sets the value of the markup property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setMarkup(BigDecimal value) {
+ this.markup = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CustomerOrder.java b/src/main/java/com/adyen/model/nexo/CustomerOrder.java
new file mode 100644
index 000000000..0b88d03f2
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CustomerOrder.java
@@ -0,0 +1,267 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+import java.math.BigDecimal;
+
+
+/**
+ * Definition: Customer order attached to a card, recorded in the POI system. -- Usage: Allows the management of customer orders by the POI, for instance in a multi-channel or a click and collect sale transaction.
+ *
+ * Java class for CustomerOrder complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="CustomerOrder">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="AdditionalInformation" type="{}AdditionalInformation" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="CustomerOrderID" use="required" type="{}CustomerOrderID" />
+ * <attribute name="OpenOrderState" type="{}OpenOrderState" default="false" />
+ * <attribute name="StartDate" use="required" type="{}StartDate" />
+ * <attribute name="EndDate" type="{}EndDate" />
+ * <attribute name="ForecastedAmount" use="required" type="{}SimpleAmountType" />
+ * <attribute name="CurrentAmount" use="required" type="{}SimpleAmountType" />
+ * <attribute name="Currency" type="{}ISOCurrency3A" />
+ * <attribute name="AccessedBy" type="{}AccessedBy" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CustomerOrder", propOrder = {
+ "additionalInformation"
+})
+public class CustomerOrder {
+
+ /**
+ * The Additional information.
+ */
+ @XmlElement(name = "AdditionalInformation")
+ @Schema(description = "Unqualified information. --Rule: If order process in progress.")
+ protected String additionalInformation;
+ /**
+ * The Customer order id.
+ */
+ @XmlElement(name = "CustomerOrderID", required = true)
+ @Schema(description = "Identification of a customer order.")
+ protected String customerOrderID;
+ /**
+ * The Open order state.
+ */
+ @XmlElement(name = "OpenOrderState")
+ @Schema(description = "State of a customer order.")
+ protected Boolean openOrderState;
+ /**
+ * The Start date.
+ */
+ @XmlElement(name = "StartDate", required = true)
+ @Schema(description = "Date time of the beginning of an operation.")
+ protected XMLGregorianCalendar startDate;
+ /**
+ * The End date.
+ */
+ @XmlElement(name = "EndDate")
+ @Schema(description = "Date time of the end of an operation. --Rule: If ClosedOrderFlag = \"True\".")
+ protected XMLGregorianCalendar endDate;
+ /**
+ * The Forecasted amount.
+ */
+ @XmlElement(name = "ForecastedAmount", required = true)
+ @Schema(description = "Amount of a transaction.")
+ protected BigDecimal forecastedAmount;
+ /**
+ * The Current amount.
+ */
+ @XmlElement(name = "CurrentAmount", required = true)
+ @Schema(description = "Remaining amount to pay in a transaction.")
+ protected BigDecimal currentAmount;
+ /**
+ * The Currency.
+ */
+ @XmlElement(name = "Currency")
+ @Schema(description = "Currency of a monetary amount.")
+ protected String currency;
+ /**
+ * The Accessed by.
+ */
+ @XmlElement(name = "AccessedBy")
+ @Schema(description = "Identification of an entity accessing data to perform an operation. --Rule: If multiple currencies are allowed.")
+ protected String accessedBy;
+
+ /**
+ * Gets the value of the additionalInformation property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getAdditionalInformation() {
+ return additionalInformation;
+ }
+
+ /**
+ * Sets the value of the additionalInformation property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setAdditionalInformation(String value) {
+ this.additionalInformation = value;
+ }
+
+ /**
+ * Gets the value of the customerOrderID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCustomerOrderID() {
+ return customerOrderID;
+ }
+
+ /**
+ * Sets the value of the customerOrderID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCustomerOrderID(String value) {
+ this.customerOrderID = value;
+ }
+
+ /**
+ * Gets the value of the openOrderState property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isOpenOrderState() {
+ if (openOrderState == null) {
+ return false;
+ } else {
+ return openOrderState;
+ }
+ }
+
+ /**
+ * Sets the value of the openOrderState property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setOpenOrderState(Boolean value) {
+ this.openOrderState = value;
+ }
+
+ /**
+ * Gets the value of the startDate property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ */
+ public XMLGregorianCalendar getStartDate() {
+ return startDate;
+ }
+
+ /**
+ * Sets the value of the startDate property.
+ *
+ * @param value allowed object is {@link XMLGregorianCalendar }
+ */
+ public void setStartDate(XMLGregorianCalendar value) {
+ this.startDate = value;
+ }
+
+ /**
+ * Gets the value of the endDate property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ */
+ public XMLGregorianCalendar getEndDate() {
+ return endDate;
+ }
+
+ /**
+ * Sets the value of the endDate property.
+ *
+ * @param value allowed object is {@link XMLGregorianCalendar }
+ */
+ public void setEndDate(XMLGregorianCalendar value) {
+ this.endDate = value;
+ }
+
+ /**
+ * Gets the value of the forecastedAmount property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getForecastedAmount() {
+ return forecastedAmount;
+ }
+
+ /**
+ * Sets the value of the forecastedAmount property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setForecastedAmount(BigDecimal value) {
+ this.forecastedAmount = value;
+ }
+
+ /**
+ * Gets the value of the currentAmount property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getCurrentAmount() {
+ return currentAmount;
+ }
+
+ /**
+ * Sets the value of the currentAmount property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setCurrentAmount(BigDecimal value) {
+ this.currentAmount = value;
+ }
+
+ /**
+ * Gets the value of the currency property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCurrency() {
+ return currency;
+ }
+
+ /**
+ * Sets the value of the currency property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCurrency(String value) {
+ this.currency = value;
+ }
+
+ /**
+ * Gets the value of the accessedBy property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getAccessedBy() {
+ return accessedBy;
+ }
+
+ /**
+ * Sets the value of the accessedBy property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setAccessedBy(String value) {
+ this.accessedBy = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/CustomerOrderReqType.java b/src/main/java/com/adyen/model/nexo/CustomerOrderReqType.java
new file mode 100644
index 000000000..6a5ecb149
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/CustomerOrderReqType.java
@@ -0,0 +1,78 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for CustomerOrderReqType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="CustomerOrderReqType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Open"/>
+ * <enumeration value="Closed"/>
+ * <enumeration value="Both"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "CustomerOrderReqType")
+@XmlEnum
+public enum CustomerOrderReqType {
+
+
+ /**
+ * Customer order not completed.
+ */
+ @XmlEnumValue("Open")
+ @Schema(description = "Customer order not completed.")
+ OPEN("Open"),
+
+ /**
+ * Completed customer orders.
+ */
+ @XmlEnumValue("Closed")
+ @Schema(description = "Completed customer orders.")
+ CLOSED("Closed"),
+
+ /**
+ * All type of CustomerOrder should be listed
+ */
+ @XmlEnumValue("Both")
+ @Schema(description = "All type of CustomerOrder should be listed")
+ BOTH("Both");
+ private final String value;
+
+ CustomerOrderReqType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value customer order req type.
+ *
+ * @param v the v
+ * @return the customer order req type
+ */
+ public static CustomerOrderReqType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/DeviceType.java b/src/main/java/com/adyen/model/nexo/DeviceType.java
new file mode 100644
index 000000000..cb75e1230
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/DeviceType.java
@@ -0,0 +1,86 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for DeviceType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="DeviceType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="CashierDisplay"/>
+ * <enumeration value="CustomerDisplay"/>
+ * <enumeration value="CashierInput"/>
+ * <enumeration value="CustomerInput"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "DeviceType")
+@XmlEnum
+public enum DeviceType {
+
+
+ /**
+ * Used by the POI System (or the Sale System when the device is managed by the POI Terminal), to display some information to the Cashier.
+ */
+ @XmlEnumValue("CashierDisplay")
+ @Schema(description = "Used by the POI System (or the Sale System when the device is managed by the POI Terminal), to display some information to the Cashier.")
+ CASHIER_DISPLAY("CashierDisplay"),
+
+ /**
+ * Used by the Sale System (or the POI System when the device is managed by the Sale Terminal), to display some information to the Customer.
+ */
+ @XmlEnumValue("CustomerDisplay")
+ @Schema(description = "Used by the Sale System (or the POI System when the device is managed by the Sale Terminal), to display some information to the Customer.")
+ CUSTOMER_DISPLAY("CustomerDisplay"),
+
+ /**
+ * Any kind of keyboard allowing all or part of the commands of the Input messageType request from the Sale System to the POI System (InputCommand data element). The
+ */
+ @XmlEnumValue("CashierInput")
+ @Schema(description = "Any kind of keyboard allowing all or part of the commands of the Input message request from the Sale System to the POI System (InputCommand data element). The")
+ CASHIER_INPUT("CashierInput"),
+
+ /**
+ * Any kind of keyboard allowing all or part of the commands of the Input messageType request from the POI System to the Sale System (InputCommand data element). The
+ */
+ @XmlEnumValue("CustomerInput")
+ @Schema(description = "Any kind of keyboard allowing all or part of the commands of the Input message request from the POI System to the Sale System (InputCommand data element). The")
+ CUSTOMER_INPUT("CustomerInput");
+ private final String value;
+
+ DeviceType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value device type.
+ *
+ * @param v the v
+ * @return the device type
+ */
+ public static DeviceType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/DiagnosisRequest.java b/src/main/java/com/adyen/model/nexo/DiagnosisRequest.java
new file mode 100644
index 000000000..f5e0d1638
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/DiagnosisRequest.java
@@ -0,0 +1,128 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Diagnosis Request messageType. -- Usage: It conveys Information related to the target POI for which the diagnosis is requested
+ *
+ * Java class for DiagnosisRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="DiagnosisRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="AcquirerID" type="{}AcquirerID" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="POIID" type="{}POIID" />
+ * <attribute name="HostDiagnosisFlag" type="{}HostDiagnosisFlag" default="false" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DiagnosisRequest", propOrder = {
+ "acquirerID"
+})
+public class DiagnosisRequest {
+
+ /**
+ * The Acquirer id.
+ */
+ @XmlElement(name = "AcquirerID")
+ @Schema(description = "Identification of the Acquirer --Rule: Present if requesting the diagnosis of these hosts only.")
+ protected List acquirerID;
+ /**
+ * The Poiid.
+ */
+ @XmlElement(name = "POIID")
+ @Schema(description = "Identification of a POI System or a POI Terminal for the Sale to POI protocol --Rule: MessageHeader.POIID")
+ protected String poiid;
+ /**
+ * The Host diagnosis flag.
+ */
+ @XmlElement(name = "HostDiagnosisFlag")
+ @Schema(description = "Indicates if Host Diagnosis are required")
+ protected Boolean hostDiagnosisFlag;
+
+ /**
+ * Gets the value of the acquirerID property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the acquirerID property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getAcquirerID().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ * @return the acquirer id
+ */
+ public List getAcquirerID() {
+ if (acquirerID == null) {
+ acquirerID = new ArrayList<>();
+ }
+ return this.acquirerID;
+ }
+
+ /**
+ * Gets the value of the poiid property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPOIID() {
+ return poiid;
+ }
+
+ /**
+ * Sets the value of the poiid property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPOIID(String value) {
+ this.poiid = value;
+ }
+
+ /**
+ * Gets the value of the hostDiagnosisFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isHostDiagnosisFlag() {
+ if (hostDiagnosisFlag == null) {
+ return false;
+ } else {
+ return hostDiagnosisFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the hostDiagnosisFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setHostDiagnosisFlag(Boolean value) {
+ this.hostDiagnosisFlag = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/DiagnosisResponse.java b/src/main/java/com/adyen/model/nexo/DiagnosisResponse.java
new file mode 100644
index 000000000..22948226a
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/DiagnosisResponse.java
@@ -0,0 +1,163 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Diagnosis Response messageType. -- Usage: It conveys the result of the requested diagnosis and a possible messageType to display on a logical device.
+ *
+ * Java class for DiagnosisResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="DiagnosisResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * <element name="LoggedSaleID" type="{}LoggedSaleID" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="POIStatus" type="{}POIStatus" minOccurs="0"/>
+ * <element name="HostStatus" type="{}HostStatus" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DiagnosisResponse", propOrder = {
+ "response",
+ "loggedSaleID",
+ "poiStatus",
+ "hostStatus"
+})
+public class DiagnosisResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Logged sale id.
+ */
+ @XmlElement(name = "LoggedSaleID")
+ @Schema(description = "Sale Terminal logged to. --Rule: If Sale Terminal logged to this POI Terminal")
+ protected List loggedSaleID;
+ /**
+ * The Poi status.
+ */
+ @XmlElement(name = "POIStatus")
+ @Schema(description = "State of a POI Terminal. --Rule: if Response.Result is Success")
+ protected POIStatus poiStatus;
+ /**
+ * The Host status.
+ */
+ @XmlElement(name = "HostStatus")
+ @Schema(description = "State of a Host.")
+ protected List hostStatus;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the loggedSaleID property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the loggedSaleID property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getLoggedSaleID().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ * @return the logged sale id
+ */
+ public List getLoggedSaleID() {
+ if (loggedSaleID == null) {
+ loggedSaleID = new ArrayList<>();
+ }
+ return this.loggedSaleID;
+ }
+
+ /**
+ * Gets the value of the poiStatus property.
+ *
+ * @return possible object is {@link POIStatus }
+ */
+ public POIStatus getPOIStatus() {
+ return poiStatus;
+ }
+
+ /**
+ * Sets the value of the poiStatus property.
+ *
+ * @param value allowed object is {@link POIStatus }
+ */
+ public void setPOIStatus(POIStatus value) {
+ this.poiStatus = value;
+ }
+
+ /**
+ * Gets the value of the hostStatus property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the hostStatus property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getHostStatus().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link HostStatus }
+ *
+ * @return the host status
+ */
+ public List getHostStatus() {
+ if (hostStatus == null) {
+ hostStatus = new ArrayList<>();
+ }
+ return this.hostStatus;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/DigestedData.java b/src/main/java/com/adyen/model/nexo/DigestedData.java
new file mode 100644
index 000000000..b3c4b6eb2
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/DigestedData.java
@@ -0,0 +1,132 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Cryptographic Message Syntax (CMS) data structure containing digested data -- Reference: RFC 3852: Cryptographic Message Syntax (CMS) -- Usage: This data structure contains: the version of the data structure the identifiers of the messageType digest algorithms the encapsulated content the digested data
+ *
+ * Java class for DigestedData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="DigestedData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DigestAlgorithm" type="{}AlgorithmIdentifier"/>
+ * <element name="EncapsulatedContent" type="{}EncapsulatedContent"/>
+ * <element name="Digest" type="{}Digest"/>
+ * </sequence>
+ * <attribute name="Version" type="{}VersionType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DigestedData", propOrder = {
+ "digestAlgorithm",
+ "encapsulatedContent",
+ "digest"
+})
+public class DigestedData {
+
+ /**
+ * The Digest algorithm.
+ */
+ @XmlElement(name = "DigestAlgorithm", required = true)
+ protected AlgorithmIdentifier digestAlgorithm;
+ /**
+ * The Encapsulated content.
+ */
+ @XmlElement(name = "EncapsulatedContent", required = true)
+ protected EncapsulatedContent encapsulatedContent;
+ /**
+ * The Digest.
+ */
+ @XmlElement(name = "Digest", required = true)
+ protected byte[] digest;
+ /**
+ * The Version.
+ */
+ @XmlElement(name = "Version")
+ protected VersionType version;
+
+ /**
+ * Gets the value of the digestAlgorithm property.
+ *
+ * @return possible object is {@link AlgorithmIdentifier }
+ */
+ public AlgorithmIdentifier getDigestAlgorithm() {
+ return digestAlgorithm;
+ }
+
+ /**
+ * Sets the value of the digestAlgorithm property.
+ *
+ * @param value allowed object is {@link AlgorithmIdentifier }
+ */
+ public void setDigestAlgorithm(AlgorithmIdentifier value) {
+ this.digestAlgorithm = value;
+ }
+
+ /**
+ * Gets the value of the encapsulatedContent property.
+ *
+ * @return possible object is {@link EncapsulatedContent }
+ */
+ public EncapsulatedContent getEncapsulatedContent() {
+ return encapsulatedContent;
+ }
+
+ /**
+ * Sets the value of the encapsulatedContent property.
+ *
+ * @param value allowed object is {@link EncapsulatedContent }
+ */
+ public void setEncapsulatedContent(EncapsulatedContent value) {
+ this.encapsulatedContent = value;
+ }
+
+ /**
+ * Gets the value of the digest property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getDigest() {
+ return digest;
+ }
+
+ /**
+ * Sets the value of the digest property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setDigest(byte[] value) {
+ this.digest = value;
+ }
+
+ /**
+ * Gets the value of the version property.
+ *
+ * @return possible object is {@link VersionType }
+ */
+ public VersionType getVersion() {
+ return version;
+ }
+
+ /**
+ * Sets the value of the version property.
+ *
+ * @param value allowed object is {@link VersionType }
+ */
+ public void setVersion(VersionType value) {
+ this.version = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/DisplayOutput.java b/src/main/java/com/adyen/model/nexo/DisplayOutput.java
new file mode 100644
index 000000000..54bd4e87c
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/DisplayOutput.java
@@ -0,0 +1,234 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Information to display and the way to process the display. -- Usage: 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.
+ *
+ * Java class for DisplayOutput complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="DisplayOutput">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="OutputContent" type="{}OutputContent"/>
+ * <element name="MenuEntry" type="{}MenuEntry" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="OutputSignature" type="{}OutputSignature" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="ResponseRequiredFlag" type="{}ResponseRequiredFlag" default="true" />
+ * <attribute name="MinimumDisplayTime" type="{}MinimumDisplayTime" default="0" />
+ * <attribute name="Device" use="required" type="{}DeviceType" />
+ * <attribute name="InfoQualify" use="required" type="{}InfoQualifyType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DisplayOutput", propOrder = {
+ "outputContent",
+ "menuEntry",
+ "outputSignature"
+})
+public class DisplayOutput {
+
+ /**
+ * The Output content.
+ */
+ @XmlElement(name = "OutputContent", required = true)
+ @Schema(description = "Content to display or print.")
+ protected OutputContent outputContent;
+ /**
+ * The Menu entry.
+ */
+ @XmlElement(name = "MenuEntry")
+ @Schema(description = "An entryof the menu to present to the Cashier --Rule: One instance of MenuEntry per item to display in the menu for the get menu input command.")
+ protected List menuEntry;
+ /**
+ * The Output signature.
+ */
+ @XmlElement(name = "OutputSignature")
+ @Schema(description = "Vendor specific signature of text message to display or print. --Rule: If protection has to be provided to the vendor on the text to display or print.")
+ protected byte[] outputSignature;
+ /**
+ * The Response required flag.
+ */
+ @XmlElement(name = "ResponseRequiredFlag")
+ @Schema(description = "Request of a message response.")
+ protected Boolean responseRequiredFlag;
+ /**
+ * The Minimum display time.
+ */
+ @XmlElement(name = "MinimumDisplayTime")
+ @Schema(description = "Number of seconds the message has to be displayed")
+ protected Integer minimumDisplayTime;
+ /**
+ * The Device.
+ */
+ @XmlElement(name = "Device", required = true)
+ @Schema(description = "Logical device located on a Sale Terminal or a POI Terminal, in term of class of information to output (display, print --Rule: CashierDisplay, CustomerDisplay")
+ protected DeviceType device;
+ /**
+ * The Info qualify.
+ */
+ @XmlElement(name = "InfoQualify", required = true)
+ @Schema(description = "Qualification of the information to sent to an output logical device, to display or print to the Cashier or the --Rule: Status, Error, Display, POIReplication")
+ protected InfoQualifyType infoQualify;
+
+ /**
+ * Gets the value of the outputContent property.
+ *
+ * @return possible object is {@link OutputContent }
+ */
+ public OutputContent getOutputContent() {
+ return outputContent;
+ }
+
+ /**
+ * Sets the value of the outputContent property.
+ *
+ * @param value allowed object is {@link OutputContent }
+ */
+ public void setOutputContent(OutputContent value) {
+ this.outputContent = value;
+ }
+
+ /**
+ * Gets the value of the menuEntry property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the menuEntry property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getMenuEntry().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link MenuEntry }
+ *
+ * @return the menu entry
+ */
+ public List getMenuEntry() {
+ if (menuEntry == null) {
+ menuEntry = new ArrayList<>();
+ }
+ return this.menuEntry;
+ }
+
+ /**
+ * Gets the value of the outputSignature property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getOutputSignature() {
+ return outputSignature;
+ }
+
+ /**
+ * Sets the value of the outputSignature property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setOutputSignature(byte[] value) {
+ this.outputSignature = value;
+ }
+
+ /**
+ * Gets the value of the responseRequiredFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isResponseRequiredFlag() {
+ if (responseRequiredFlag == null) {
+ return true;
+ } else {
+ return responseRequiredFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the responseRequiredFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setResponseRequiredFlag(Boolean value) {
+ this.responseRequiredFlag = value;
+ }
+
+ /**
+ * Gets the value of the minimumDisplayTime property.
+ *
+ * @return possible object is {@link Integer }
+ */
+ public int getMinimumDisplayTime() {
+ if (minimumDisplayTime == null) {
+ return 0;
+ } else {
+ return minimumDisplayTime;
+ }
+ }
+
+ /**
+ * Sets the value of the minimumDisplayTime property.
+ *
+ * @param value allowed object is {@link Integer }
+ */
+ public void setMinimumDisplayTime(Integer value) {
+ this.minimumDisplayTime = value;
+ }
+
+ /**
+ * Gets the value of the device property.
+ *
+ * @return possible object is {@link DeviceType }
+ */
+ public DeviceType getDevice() {
+ return device;
+ }
+
+ /**
+ * Sets the value of the device property.
+ *
+ * @param value allowed object is {@link DeviceType }
+ */
+ public void setDevice(DeviceType value) {
+ this.device = value;
+ }
+
+ /**
+ * Gets the value of the infoQualify property.
+ *
+ * @return possible object is {@link InfoQualifyType }
+ */
+ public InfoQualifyType getInfoQualify() {
+ return infoQualify;
+ }
+
+ /**
+ * Sets the value of the infoQualify property.
+ *
+ * @param value allowed object is {@link InfoQualifyType }
+ */
+ public void setInfoQualify(InfoQualifyType value) {
+ this.infoQualify = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/DisplayRequest.java b/src/main/java/com/adyen/model/nexo/DisplayRequest.java
new file mode 100644
index 000000000..e54209f07
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/DisplayRequest.java
@@ -0,0 +1,74 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Display Request messageType. -- Usage: 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.
+ *
+ * Java class for DisplayRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="DisplayRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DisplayOutput" type="{}DisplayOutput" maxOccurs="unbounded"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DisplayRequest", propOrder = {
+ "displayOutput"
+})
+public class DisplayRequest {
+
+ /**
+ * The Display output.
+ */
+ @XmlElement(name = "DisplayOutput", required = true)
+ @Schema(description = "Information to display and the way to process the display. --Rule: Complete display content for output devices. At most one DisplayOutput per Device/ InfoQualify pair")
+ protected List displayOutput;
+
+ /**
+ * Gets the value of the displayOutput property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the displayOutput property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getDisplayOutput().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link DisplayOutput }
+ *
+ * @return the display output
+ */
+ public List getDisplayOutput() {
+ if (displayOutput == null) {
+ displayOutput = new ArrayList<>();
+ }
+ return this.displayOutput;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/DisplayResponse.java b/src/main/java/com/adyen/model/nexo/DisplayResponse.java
new file mode 100644
index 000000000..a5ab8cc6d
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/DisplayResponse.java
@@ -0,0 +1,74 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Display Response messageType. -- Usage: It conveys the result of the display, parallel to the messageType request, except if response not required and absent.
+ *
+ * Java class for DisplayResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="DisplayResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="OutputResult" type="{}OutputResult" maxOccurs="unbounded"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DisplayResponse", propOrder = {
+ "outputResult"
+})
+public class DisplayResponse {
+
+ /**
+ * The Output result.
+ */
+ @XmlElement(name = "OutputResult", required = true)
+ @Schema(description = "Information related to the result the output (display, print, input). --Rule: One per DisplayOutput item of the request, and in the same order.")
+ protected List outputResult;
+
+ /**
+ * Gets the value of the outputResult property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the outputResult property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getOutputResult().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link OutputResult }
+ *
+ * @return the output result
+ */
+ public List getOutputResult() {
+ if (outputResult == null) {
+ outputResult = new ArrayList<>();
+ }
+ return this.outputResult;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/DocumentQualifierType.java b/src/main/java/com/adyen/model/nexo/DocumentQualifierType.java
new file mode 100644
index 000000000..30f2f5e3c
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/DocumentQualifierType.java
@@ -0,0 +1,102 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for DocumentQualifierType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="DocumentQualifierType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="SaleReceipt"/>
+ * <enumeration value="CashierReceipt"/>
+ * <enumeration value="CustomerReceipt"/>
+ * <enumeration value="Document"/>
+ * <enumeration value="Voucher"/>
+ * <enumeration value="Journal"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "DocumentQualifierType")
+@XmlEnum
+public enum DocumentQualifierType {
+
+
+ /**
+ * Where the POI system print the Sale receipt when requested by the Sale Terminal.
+ */
+ @XmlEnumValue("SaleReceipt")
+ @Schema(description = "Where the POI system print the Sale receipt when requested by the Sale Terminal.")
+ SALE_RECEIPT("SaleReceipt"),
+
+ /**
+ * Where the Sale system print the Cashier copy of the Payment receipt when requested by the POI Terminal.
+ */
+ @XmlEnumValue("CashierReceipt")
+ @Schema(description = "Where the Sale system print the Cashier copy of the Payment receipt when requested by the POI Terminal.")
+ CASHIER_RECEIPT("CashierReceipt"),
+
+ /**
+ * Where you print the Customer Payment receipt that could be located on the Sale Terminal or in some cases a restricted Customer Sale ticket on the POI Terminal.
+ */
+ @XmlEnumValue("CustomerReceipt")
+ @Schema(description = "Where you print the Customer Payment receipt that could be located on the Sale Terminal or in some cases a restricted Customer Sale ticket on the POI Terminal.")
+ CUSTOMER_RECEIPT("CustomerReceipt"),
+
+ /**
+ * When the POI System wants to print specific document (check, dynamic currency conversion ...). Used by the Sale System when the printer is not located on the
+ */
+ @XmlEnumValue("Document")
+ @Schema(description = "When the POI System wants to print specific document (check, dynamic currency conversion ...). Used by the Sale System when the printer is not located on the")
+ DOCUMENT("Document"),
+
+ /**
+ * Coupons, voucher or special ticket generated by the POI or the Sale System and to be printed.
+ */
+ @XmlEnumValue("Voucher")
+ @Schema(description = "Coupons, voucher or special ticket generated by the POI or the Sale System and to be printed.")
+ VOUCHER("Voucher"),
+
+ /**
+ * When the POI or the Sale System wants to store a messageType on the journal printer or electronic journal of the Sale Terminal (it is sometimes a Sale
+ */
+ @XmlEnumValue("Journal")
+ @Schema(description = "When the POI or the Sale System wants to store a message on the journal printer or electronic journal of the Sale Terminal (it is sometimes a Sale")
+ JOURNAL("Journal");
+ private final String value;
+
+ DocumentQualifierType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value document qualifier type.
+ *
+ * @param v the v
+ * @return the document qualifier type
+ */
+ public static DocumentQualifierType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/EnableServiceRequest.java b/src/main/java/com/adyen/model/nexo/EnableServiceRequest.java
new file mode 100644
index 000000000..d950f4e7b
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/EnableServiceRequest.java
@@ -0,0 +1,134 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlList;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Enable Service Request messageType. -- Usage: 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.
+ *
+ * Java class for EnableServiceRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="EnableServiceRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="ServicesEnabled" type="{}ServicesEnabled" minOccurs="0"/>
+ * <element name="DisplayOutput" type="{}DisplayOutput" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="TransactionAction" use="required" type="{}TransactionActionType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "EnableServiceRequest", propOrder = {
+ "servicesEnabled",
+ "displayOutput"
+})
+public class EnableServiceRequest {
+
+ /**
+ * The Services enabled.
+ */
+ @XmlList
+ @XmlElement(name = "ServicesEnabled")
+ @Schema(description = "Services which are enabled before the start-up of a transaction --Rule: Mandatory if TransactionAction is \"StartTransaction\", absent if not.")
+ protected List servicesEnabled;
+ /**
+ * The Display output.
+ */
+ @XmlElement(name = "DisplayOutput")
+ @Schema(description = "Information to display and the way to process the display.")
+ protected DisplayOutput displayOutput;
+ /**
+ * The Transaction action.
+ */
+ @XmlElement(name = "TransactionAction", required = true)
+ @Schema(description = "Action to realise on a transaction.")
+ protected TransactionActionType transactionAction;
+
+ /**
+ * Gets the value of the servicesEnabled property.
+ *
+ *
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the servicesEnabled property.
+ *
+ *
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getServicesEnabled().add(newItem);
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link ServicesEnabledType }
+ *
+ * @return the services enabled
+ */
+ public List getServicesEnabled() {
+ if (servicesEnabled == null) {
+ servicesEnabled = new ArrayList<>();
+ }
+ return this.servicesEnabled;
+ }
+
+ /**
+ * Gets the value of the displayOutput property.
+ *
+ * @return possible object is {@link DisplayOutput }
+ */
+ public DisplayOutput getDisplayOutput() {
+ return displayOutput;
+ }
+
+ /**
+ * Sets the value of the displayOutput property.
+ *
+ * @param value allowed object is {@link DisplayOutput }
+ */
+ public void setDisplayOutput(DisplayOutput value) {
+ this.displayOutput = value;
+ }
+
+ /**
+ * Gets the value of the transactionAction property.
+ *
+ * @return possible object is {@link TransactionActionType }
+ */
+ public TransactionActionType getTransactionAction() {
+ return transactionAction;
+ }
+
+ /**
+ * Sets the value of the transactionAction property.
+ *
+ * @param value allowed object is {@link TransactionActionType }
+ */
+ public void setTransactionAction(TransactionActionType value) {
+ this.transactionAction = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/EnableServiceResponse.java b/src/main/java/com/adyen/model/nexo/EnableServiceResponse.java
new file mode 100644
index 000000000..102d8a73f
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/EnableServiceResponse.java
@@ -0,0 +1,61 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the Enable Service Response messageType. -- Usage: It conveys the result of the Enable Service processing.
+ *
+ * Java class for EnableServiceResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="EnableServiceResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "EnableServiceResponse", propOrder = {
+ "response"
+})
+public class EnableServiceResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/EncapsulatedContent.java b/src/main/java/com/adyen/model/nexo/EncapsulatedContent.java
new file mode 100644
index 000000000..e764cfb38
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/EncapsulatedContent.java
@@ -0,0 +1,82 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Cryptographic Message Syntax (CMS) data structure containing content to authenticate -- Reference: RFC 3852: Cryptographic Message Syntax (CMS) -- Usage: This data structure contains: the type of the encapsulated content, which is id-data for an application data or another CMS data structure the data to authenticate
+ *
+ * Java class for EncapsulatedContent complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="EncapsulatedContent">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Content" type="{}Content" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="ContentType" use="required" type="{}ContentType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "EncapsulatedContent", propOrder = {
+ "content"
+})
+public class EncapsulatedContent {
+
+ /**
+ * The Content.
+ */
+ @XmlElement(name = "Content")
+ protected byte[] content;
+ /**
+ * The Content type.
+ */
+ @XmlElement(name = "ContentType", required = true)
+ protected ContentType contentType;
+
+ /**
+ * Gets the value of the content property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getContent() {
+ return content;
+ }
+
+ /**
+ * Sets the value of the content property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setContent(byte[] value) {
+ this.content = value;
+ }
+
+ /**
+ * Gets the value of the contentType property.
+ *
+ * @return possible object is {@link ContentType }
+ */
+ public ContentType getContentType() {
+ return contentType;
+ }
+
+ /**
+ * Sets the value of the contentType property.
+ *
+ * @param value allowed object is {@link ContentType }
+ */
+ public void setContentType(ContentType value) {
+ this.contentType = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/EncryptedContent.java b/src/main/java/com/adyen/model/nexo/EncryptedContent.java
new file mode 100644
index 000000000..e8ccd7476
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/EncryptedContent.java
@@ -0,0 +1,107 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Cryptographic Message Syntax (CMS) data structure containing encrypted data with encryption key -- Reference: RFC 3852: Cryptographic Message Syntax (CMS) -- Usage: This data structure contains: the type of the encrypted content, which is id-data for an application data or another CMS data structure the protected encryption key for every recipient the encrypted data
+ *
+ * Java class for EncryptedContent complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="EncryptedContent">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="ContentEncryptionAlgorithm" type="{}AlgorithmIdentifier"/>
+ * <element name="EncryptedData" type="{}EncryptedData"/>
+ * </sequence>
+ * <attribute name="Content" use="required" type="{}ContentType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "EncryptedContent", propOrder = {
+ "contentEncryptionAlgorithm",
+ "encryptedData"
+})
+public class EncryptedContent {
+
+ /**
+ * The Content encryption algorithm.
+ */
+ @XmlElement(name = "ContentEncryptionAlgorithm", required = true)
+ protected AlgorithmIdentifier contentEncryptionAlgorithm;
+ /**
+ * The Encrypted data.
+ */
+ @XmlElement(name = "EncryptedData", required = true)
+ protected byte[] encryptedData;
+ /**
+ * The Content.
+ */
+ @XmlElement(name = "ContentType", required = true)
+ protected ContentType contentType;
+
+ /**
+ * Gets the value of the contentEncryptionAlgorithm property.
+ *
+ * @return possible object is {@link AlgorithmIdentifier }
+ */
+ public AlgorithmIdentifier getContentEncryptionAlgorithm() {
+ return contentEncryptionAlgorithm;
+ }
+
+ /**
+ * Sets the value of the contentEncryptionAlgorithm property.
+ *
+ * @param value allowed object is {@link AlgorithmIdentifier }
+ */
+ public void setContentEncryptionAlgorithm(AlgorithmIdentifier value) {
+ this.contentEncryptionAlgorithm = value;
+ }
+
+ /**
+ * Gets the value of the encryptedData property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getEncryptedData() {
+ return encryptedData;
+ }
+
+ /**
+ * Sets the value of the encryptedData property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setEncryptedData(byte[] value) {
+ this.encryptedData = value;
+ }
+
+ /**
+ * Gets the value of the contentType property.
+ *
+ * @return possible object is {@link ContentType }
+ */
+ public ContentType getContentType() {
+ return contentType;
+ }
+
+ /**
+ * Sets the value of the contentType property.
+ *
+ * @param value allowed object is {@link ContentType }
+ */
+ public void setContentType(ContentType value) {
+ this.contentType = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/EntryModeType.java b/src/main/java/com/adyen/model/nexo/EntryModeType.java
new file mode 100644
index 000000000..36c18a8db
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/EntryModeType.java
@@ -0,0 +1,138 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for EntryModeType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="EntryModeType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="RFID"/>
+ * <enumeration value="Keyed"/>
+ * <enumeration value="Manual"/>
+ * <enumeration value="File"/>
+ * <enumeration value="Scanned"/>
+ * <enumeration value="MagStripe"/>
+ * <enumeration value="ICC"/>
+ * <enumeration value="SynchronousICC"/>
+ * <enumeration value="Tapped"/>
+ * <enumeration value="Contactless"/>
+ * <enumeration value="Mobile"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "EntryModeType")
+@XmlEnum
+public enum EntryModeType {
+
+
+ /**
+ * Payment instrument information are taken from RFID
+ */
+ RFID("RFID"),
+
+ /**
+ * Manual key entry
+ */
+ @XmlEnumValue("Keyed")
+ @Schema(description = "Manual key entry")
+ KEYED("Keyed"),
+
+ /**
+ * Reading of embossing or OCR of printed data either at time of transaction or after the event.
+ */
+ @XmlEnumValue("Manual")
+ @Schema(description = "Reading of embossing or OCR of printed data either at time of transaction or after the event.")
+ MANUAL("Manual"),
+
+ /**
+ * Account data on file
+ */
+ @XmlEnumValue("File")
+ @Schema(description = "Account data on file")
+ FILE("File"),
+
+ /**
+ * Scanned by a bar code reader.
+ */
+ @XmlEnumValue("Scanned")
+ @Schema(description = "Scanned by a bar code reader.")
+ SCANNED("Scanned"),
+
+ /**
+ * Magnetic stripe card reader.
+ */
+ @XmlEnumValue("MagStripe")
+ @Schema(description = "Magnetic stripe card reader.")
+ MAG_STRIPE("MagStripe"),
+
+ /**
+ * Contact ICC (asynchronous)
+ */
+ ICC("ICC"),
+
+ /**
+ * Contact ICC (synchronous)
+ */
+ @XmlEnumValue("SynchronousICC")
+ @Schema(description = "Contact ICC (synchronous)")
+ SYNCHRONOUS_ICC("SynchronousICC"),
+
+ /**
+ * Contactless card reader Magnetic Stripe
+ */
+ @XmlEnumValue("Tapped")
+ @Schema(description = "Contactless card reader Magnetic Stripe")
+ TAPPED("Tapped"),
+
+ /**
+ * Contactless card reader conform to ISO 14443
+ */
+ @XmlEnumValue("Contactless")
+ @Schema(description = "Contactless card reader conform to ISO 14443")
+ CONTACTLESS("Contactless"),
+
+ /**
+ * Mobile phone.
+ */
+ @XmlEnumValue("Mobile")
+ @Schema(description = "Mobile phone.")
+ MOBILE("Mobile");
+ private final String value;
+
+ EntryModeType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value entry mode type.
+ *
+ * @param v the v
+ * @return the entry mode type
+ */
+ public static EntryModeType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/EnvelopedData.java b/src/main/java/com/adyen/model/nexo/EnvelopedData.java
new file mode 100644
index 000000000..4d6cb40c8
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/EnvelopedData.java
@@ -0,0 +1,132 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Cryptographic Message Syntax (CMS) data structure containing encrypted data with encryption key -- Reference: RFC 3852: Cryptographic Message Syntax (CMS) -- Usage: This data structure contains: the version of the data structure (which is v0 in EPAS protocol context) the protected encrytion key for every adressee (recipient) the encrypted data
+ *
+ * Java class for EnvelopedData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="EnvelopedData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <choice maxOccurs="unbounded">
+ * <element name="KeyTransport" type="{}KeyTransport"/>
+ * <element name="KEK" type="{}KEK"/>
+ * </choice>
+ * <element name="EncryptedContent" type="{}EncryptedContent"/>
+ * </sequence>
+ * <attribute name="Version" type="{}VersionType" default="v0" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "EnvelopedData", propOrder = {
+ "keyTransportOrKEK",
+ "encryptedContent"
+})
+public class EnvelopedData {
+
+ /**
+ * The Key transport or kek.
+ */
+ @XmlElements({
+ @XmlElement(name = "KeyTransport", type = KeyTransport.class),
+ @XmlElement(name = "KEK", type = KEK.class)
+ })
+ protected List keyTransportOrKEK;
+ /**
+ * The Encrypted content.
+ */
+ @XmlElement(name = "EncryptedContent", required = true)
+ protected EncryptedContent encryptedContent;
+ /**
+ * The Version.
+ */
+ @XmlElement(name = "Version")
+ protected VersionType version;
+
+ /**
+ * Gets the value of the keyTransportOrKEK property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the keyTransportOrKEK property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getKeyTransportOrKEK().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link KeyTransport }
+ * {@link KEK }
+ *
+ * @return the key transport or kek
+ */
+ public List getKeyTransportOrKEK() {
+ if (keyTransportOrKEK == null) {
+ keyTransportOrKEK = new ArrayList<>();
+ }
+ return this.keyTransportOrKEK;
+ }
+
+ /**
+ * Gets the value of the encryptedContent property.
+ *
+ * @return possible object is {@link EncryptedContent }
+ */
+ public EncryptedContent getEncryptedContent() {
+ return encryptedContent;
+ }
+
+ /**
+ * Sets the value of the encryptedContent property.
+ *
+ * @param value allowed object is {@link EncryptedContent }
+ */
+ public void setEncryptedContent(EncryptedContent value) {
+ this.encryptedContent = value;
+ }
+
+ /**
+ * Gets the value of the version property.
+ *
+ * @return possible object is {@link VersionType }
+ */
+ public VersionType getVersion() {
+ if (version == null) {
+ return VersionType.V_0;
+ } else {
+ return version;
+ }
+ }
+
+ /**
+ * Sets the value of the version property.
+ *
+ * @param value allowed object is {@link VersionType }
+ */
+ public void setVersion(VersionType value) {
+ this.version = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/ErrorConditionType.java b/src/main/java/com/adyen/model/nexo/ErrorConditionType.java
new file mode 100644
index 000000000..43c62ee9a
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/ErrorConditionType.java
@@ -0,0 +1,190 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for ErrorConditionType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="ErrorConditionType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Aborted"/>
+ * <enumeration value="Busy"/>
+ * <enumeration value="Cancel"/>
+ * <enumeration value="DeviceOut"/>
+ * <enumeration value="InsertedCard"/>
+ * <enumeration value="InProgress"/>
+ * <enumeration value="LoggedOut"/>
+ * <enumeration value="MessageFormat"/>
+ * <enumeration value="NotAllowed"/>
+ * <enumeration value="NotFound"/>
+ * <enumeration value="PaymentRestriction"/>
+ * <enumeration value="Refusal"/>
+ * <enumeration value="UnavailableDevice"/>
+ * <enumeration value="UnavailableService"/>
+ * <enumeration value="InvalidCard"/>
+ * <enumeration value="UnreachableHost"/>
+ * <enumeration value="WrongPIN"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "ErrorConditionType")
+@XmlEnum
+public enum ErrorConditionType {
+
+
+ /**
+ * The Initiator of the request has sent an Abort messageType request, which was accepted and processed.
+ */
+ @XmlEnumValue("Aborted")
+ @Schema(description = "The Initiator of the request has sent an Abort message request, which was accepted and processed.")
+ ABORTED("Aborted"),
+
+ /**
+ * The system is busy, try later
+ */
+ @XmlEnumValue("Busy")
+ @Schema(description = "The system is busy, try later")
+ BUSY("Busy"),
+
+ /**
+ * The user has aborted the transaction on the PED keyboard, for instance during PIN entering.
+ */
+ @XmlEnumValue("Cancel")
+ @Schema(description = "The user has aborted the transaction on the PED keyboard, for instance during PIN entering.")
+ CANCEL("Cancel"),
+
+ /**
+ * Device out of order
+ */
+ @XmlEnumValue("DeviceOut")
+ @Schema(description = "Device out of order")
+ DEVICE_OUT("DeviceOut"),
+
+ /**
+ * If the Input Device request a NotifyCardInputFlag and the Customer enters a card in the card reader without answers to the Input command, the POI abort the
+ */
+ @XmlEnumValue("InsertedCard")
+ @Schema(description = "If the Input Device request a NotifyCardInputFlag and the Customer enters a card in the card reader without answers to the Input command, the POI abort the")
+ INSERTED_CARD("InsertedCard"),
+
+ /**
+ * The transaction is still in progress and then the command cannot be processed
+ */
+ @XmlEnumValue("InProgress")
+ @Schema(description = "The transaction is still in progress and then the command cannot be processed")
+ IN_PROGRESS("InProgress"),
+
+ /**
+ * Not logged in
+ */
+ @XmlEnumValue("LoggedOut")
+ @Schema(description = "Not logged in")
+ LOGGED_OUT("LoggedOut"),
+
+ /**
+ * Error on the format of the messageType, AdditionalResponse shall contain the identification of the data, and the reason in clear text.
+ */
+ @XmlEnumValue("MessageFormat")
+ @Schema(description = "Error on the format of the message, AdditionalResponse shall contain the identification of the data, and the reason in clear text.")
+ MESSAGE_FORMAT("MessageFormat"),
+
+ /**
+ * A service request is sent during a Service dialogue. A combination of services not possible to provide. During the CardReaderInit messageType processing, the user
+ */
+ @XmlEnumValue("NotAllowed")
+ @Schema(description = "A service request is sent during a Service dialogue. A combination of services not possible to provide. During the CardReaderInit message processing, the user")
+ NOT_ALLOWED("NotAllowed"),
+
+ /**
+ * The transaction is not found (e.g. for a reversal or a repeat)
+ */
+ @XmlEnumValue("NotFound")
+ @Schema(description = "The transaction is not found (e.g. for a reversal or a repeat)")
+ NOT_FOUND("NotFound"),
+
+ /**
+ * Some sale items are not payable by the card proposed by the Customer.
+ */
+ @XmlEnumValue("PaymentRestriction")
+ @Schema(description = "Some sale items are not payable by the card proposed by the Customer.")
+ PAYMENT_RESTRICTION("PaymentRestriction"),
+
+ /**
+ * The transaction is refused by the host or the rules associated to the card, and cannot be repeated.
+ */
+ @XmlEnumValue("Refusal")
+ @Schema(description = "The transaction is refused by the host or the rules associated to the card, and cannot be repeated.")
+ REFUSAL("Refusal"),
+
+ /**
+ * The hardware is not available (absent, not configured...)
+ */
+ @XmlEnumValue("UnavailableDevice")
+ @Schema(description = "The hardware is not available (absent, not configured...)")
+ UNAVAILABLE_DEVICE("UnavailableDevice"),
+
+ /**
+ * The service is not available (not implemented, not configured, protocol version too old...)
+ */
+ @XmlEnumValue("UnavailableService")
+ @Schema(description = "The service is not available (not implemented, not configured, protocol version too old...)")
+ UNAVAILABLE_SERVICE("UnavailableService"),
+
+ /**
+ * The card entered by the Customer cannot be processed by the POI because this card is not configured in the system
+ */
+ @XmlEnumValue("InvalidCard")
+ @Schema(description = "The card entered by the Customer cannot be processed by the POI because this card is not configured in the system")
+ INVALID_CARD("InvalidCard"),
+
+ /**
+ * Acquirer or any host is unreachable or has not answered to an online request, so is considered as temporary unavailable. Depending on the Sale context, the
+ */
+ @XmlEnumValue("UnreachableHost")
+ @Schema(description = "Acquirer or any host is unreachable or has not answered to an online request, so is considered as temporary unavailable. Depending on the Sale context, the")
+ UNREACHABLE_HOST("UnreachableHost"),
+
+ /**
+ * The user has entered the PIN on the PED keyboard and the verification fails.
+ */
+ @XmlEnumValue("WrongPIN")
+ @Schema(description = "The user has entered the PIN on the PED keyboard and the verification fails.")
+ WRONG_PIN("WrongPIN");
+ private final String value;
+
+ ErrorConditionType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value error condition type.
+ *
+ * @param v the v
+ * @return the error condition type
+ */
+ public static ErrorConditionType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/EventNotification.java b/src/main/java/com/adyen/model/nexo/EventNotification.java
new file mode 100644
index 000000000..f5e033f9c
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/EventNotification.java
@@ -0,0 +1,218 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * Definition: Content of the EventNotification messageType. -- Usage: It conveys Information related to the event, and possible action (maintenance, messageType to display).
+ *
+ * Java class for EventNotification complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="EventNotification">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="EventDetails" type="{}EventDetails" minOccurs="0"/>
+ * <element name="RejectedMessage" type="{}RejectedMessage" minOccurs="0"/>
+ * <element name="DisplayOutput" type="{}DisplayOutput" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="TimeStamp" use="required" type="{}TimeStamp" />
+ * <attribute name="EventToNotify" use="required" type="{}EventToNotifyType" />
+ * <attribute name="MaintenanceRequiredFlag" type="{}MaintenanceRequiredFlag" default="false" />
+ * <attribute name="CustomerLanguage" type="{}ISOLanguage2A" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "EventNotification", propOrder = {
+ "eventDetails",
+ "rejectedMessage",
+ "displayOutput"
+})
+public class EventNotification {
+
+ /**
+ * The Event details.
+ */
+ @XmlElement(name = "EventDetails")
+ @Schema(description = "Information about the event the POI notifies to the Sale System. --Rule: EventToNotify")
+ protected String eventDetails;
+ /**
+ * The Rejected message.
+ */
+ @XmlElement(name = "RejectedMessage")
+ @Schema(description = "Message request rejected by the receiver. --Rule: Mandatory if EventToNotify is \"Reject\", absent in other cases")
+ protected byte[] rejectedMessage;
+ /**
+ * The Display output.
+ */
+ @XmlElement(name = "DisplayOutput")
+ @Schema(description = "Information to display and the way to process the display. --Rule: To display an event message")
+ protected DisplayOutput displayOutput;
+ /**
+ * The Time stamp.
+ */
+ @XmlElement(name = "TimeStamp", required = true)
+ @Schema(description = "Date and time of a transaction for the Sale System, the POI System or the Acquirer.")
+ protected XMLGregorianCalendar timeStamp;
+ /**
+ * The Event to notify.
+ */
+ @XmlElement(name = "EventToNotify", required = true)
+ @Schema(description = "Event the POI notifies to the Sale System.")
+ protected EventToNotifyType eventToNotify;
+ /**
+ * The Maintenance required flag.
+ */
+ @XmlElement(name = "MaintenanceRequiredFlag")
+ @Schema(description = "Indicates if the occurred event requires maintenance call or action.")
+ protected Boolean maintenanceRequiredFlag;
+ /**
+ * The Customer language.
+ */
+ @XmlElement(name = "CustomerLanguage")
+ @Schema(description = "Language of the Customer --Rule: EventToNotify")
+ protected String customerLanguage;
+
+ /**
+ * Gets the value of the eventDetails property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getEventDetails() {
+ return eventDetails;
+ }
+
+ /**
+ * Sets the value of the eventDetails property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setEventDetails(String value) {
+ this.eventDetails = value;
+ }
+
+ /**
+ * Gets the value of the rejectedMessage property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getRejectedMessage() {
+ return rejectedMessage;
+ }
+
+ /**
+ * Sets the value of the rejectedMessage property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setRejectedMessage(byte[] value) {
+ this.rejectedMessage = value;
+ }
+
+ /**
+ * Gets the value of the displayOutput property.
+ *
+ * @return possible object is {@link DisplayOutput }
+ */
+ public DisplayOutput getDisplayOutput() {
+ return displayOutput;
+ }
+
+ /**
+ * Sets the value of the displayOutput property.
+ *
+ * @param value allowed object is {@link DisplayOutput }
+ */
+ public void setDisplayOutput(DisplayOutput value) {
+ this.displayOutput = value;
+ }
+
+ /**
+ * Gets the value of the timeStamp property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ */
+ public XMLGregorianCalendar getTimeStamp() {
+ return timeStamp;
+ }
+
+ /**
+ * Sets the value of the timeStamp property.
+ *
+ * @param value allowed object is {@link XMLGregorianCalendar }
+ */
+ public void setTimeStamp(XMLGregorianCalendar value) {
+ this.timeStamp = value;
+ }
+
+ /**
+ * Gets the value of the eventToNotify property.
+ *
+ * @return possible object is {@link EventToNotifyType }
+ */
+ public EventToNotifyType getEventToNotify() {
+ return eventToNotify;
+ }
+
+ /**
+ * Sets the value of the eventToNotify property.
+ *
+ * @param value allowed object is {@link EventToNotifyType }
+ */
+ public void setEventToNotify(EventToNotifyType value) {
+ this.eventToNotify = value;
+ }
+
+ /**
+ * Gets the value of the maintenanceRequiredFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isMaintenanceRequiredFlag() {
+ if (maintenanceRequiredFlag == null) {
+ return false;
+ } else {
+ return maintenanceRequiredFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the maintenanceRequiredFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setMaintenanceRequiredFlag(Boolean value) {
+ this.maintenanceRequiredFlag = value;
+ }
+
+ /**
+ * Gets the value of the customerLanguage property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCustomerLanguage() {
+ return customerLanguage;
+ }
+
+ /**
+ * Sets the value of the customerLanguage property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCustomerLanguage(String value) {
+ this.customerLanguage = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/EventToNotifyType.java b/src/main/java/com/adyen/model/nexo/EventToNotifyType.java
new file mode 100644
index 000000000..2aa9e5aaa
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/EventToNotifyType.java
@@ -0,0 +1,182 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for EventToNotifyType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="EventToNotifyType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="BeginMaintenance"/>
+ * <enumeration value="EndMaintenance"/>
+ * <enumeration value="Shutdown"/>
+ * <enumeration value="Initialised"/>
+ * <enumeration value="OutOfOrder"/>
+ * <enumeration value="Completed"/>
+ * <enumeration value="Abort"/>
+ * <enumeration value="SaleWakeUp"/>
+ * <enumeration value="SaleAdmin"/>
+ * <enumeration value="CustomerLanguage"/>
+ * <enumeration value="KeyPressed"/>
+ * <enumeration value="SecurityAlarm"/>
+ * <enumeration value="StopAssistance"/>
+ * <enumeration value="CardInserted"/>
+ * <enumeration value="CardRemoved"/>
+ * <enumeration value="Reject"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "EventToNotifyType")
+@XmlEnum
+public enum EventToNotifyType {
+
+
+ /**
+ * Begin of POI Maintenance
+ */
+ @XmlEnumValue("BeginMaintenance")
+ @Schema(description = "Begin of POI Maintenance")
+ BEGIN_MAINTENANCE("BeginMaintenance"),
+
+ /**
+ * End of POI Maintenance
+ */
+ @XmlEnumValue("EndMaintenance")
+ @Schema(description = "End of POI Maintenance")
+ END_MAINTENANCE("EndMaintenance"),
+
+ /**
+ * The POI Terminal or the POI System is shutting down
+ */
+ @XmlEnumValue("Shutdown")
+ @Schema(description = "The POI Terminal or the POI System is shutting down")
+ SHUTDOWN("Shutdown"),
+
+ /**
+ * The POI Terminal or the POI System is now ready to work
+ */
+ @XmlEnumValue("Initialised")
+ @Schema(description = "The POI Terminal or the POI System is now ready to work")
+ INITIALISED("Initialised"),
+
+ /**
+ * The POI Terminal or the POI System cannot work
+ */
+ @XmlEnumValue("OutOfOrder")
+ @Schema(description = "The POI Terminal or the POI System cannot work")
+ OUT_OF_ORDER("OutOfOrder"),
+
+ /**
+ * An Abort request has been sent to abort a messageType which is already completed.
+ */
+ @XmlEnumValue("Completed")
+ @Schema(description = "An Abort request has been sent to abort a message which is already completed.")
+ COMPLETED("Completed"),
+
+ /**
+ * One or several device request has been sent by the POI during the processing of a service requested by the Sale System. The processing is cancelled by the
+ */
+ @XmlEnumValue("Abort")
+ @Schema(description = "One or several device request has been sent by the POI during the processing of a service requested by the Sale System. The processing is cancelled by the")
+ ABORT("Abort"),
+
+ /**
+ * A POI terminal requests the payment of the transaction identified by the content of EventDetails in the Event notification.
+ */
+ @XmlEnumValue("SaleWakeUp")
+ @Schema(description = "A POI terminal requests the payment of the transaction identified by the content of EventDetails in the Event notification.")
+ SALE_WAKE_UP("SaleWakeUp"),
+
+ /**
+ * The POI has performed, or want to perform an automatic administrative process, e.g. the reports at the end of day.
+ */
+ @XmlEnumValue("SaleAdmin")
+ @Schema(description = "The POI has performed, or want to perform an automatic administrative process, e.g. the reports at the end of day.")
+ SALE_ADMIN("SaleAdmin"),
+
+ /**
+ * The customer has selected a different language on the POI.
+ */
+ @XmlEnumValue("CustomerLanguage")
+ @Schema(description = "The customer has selected a different language on the POI.")
+ CUSTOMER_LANGUAGE("CustomerLanguage"),
+
+ /**
+ * The customer has pressed a specific key on the POI.
+ */
+ @XmlEnumValue("KeyPressed")
+ @Schema(description = "The customer has pressed a specific key on the POI.")
+ KEY_PRESSED("KeyPressed"),
+
+ /**
+ * Problem of security
+ */
+ @XmlEnumValue("SecurityAlarm")
+ @Schema(description = "Problem of security")
+ SECURITY_ALARM("SecurityAlarm"),
+
+ /**
+ * When the Customer assistance is stopped, because the Customer has completed its input.
+ */
+ @XmlEnumValue("StopAssistance")
+ @Schema(description = "When the Customer assistance is stopped, because the Customer has completed its input.")
+ STOP_ASSISTANCE("StopAssistance"),
+
+ /**
+ * A card is inserted in the card reader (see Input request and NotifyCardInputFlag)
+ */
+ @XmlEnumValue("CardInserted")
+ @Schema(description = "A card is inserted in the card reader (see Input request and NotifyCardInputFlag)")
+ CARD_INSERTED("CardInserted"),
+
+ /**
+ * A card is removed from the card reader.
+ */
+ @XmlEnumValue("CardRemoved")
+ @Schema(description = "A card is removed from the card reader.")
+ CARD_REMOVED("CardRemoved"),
+
+ /**
+ * A messageType request is rejected. An error explanation and the messageType in error have to be put in the EventDetails data element.
+ */
+ @XmlEnumValue("Reject")
+ @Schema(description = "A message request is rejected. An error explanation and the message in error have to be put in the EventDetails data element.")
+ REJECT("Reject");
+ private final String value;
+
+ EventToNotifyType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value event to notify type.
+ *
+ * @param v the v
+ * @return the event to notify type
+ */
+ public static EventToNotifyType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/ForceEntryModeType.java b/src/main/java/com/adyen/model/nexo/ForceEntryModeType.java
new file mode 100644
index 000000000..e8282293d
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/ForceEntryModeType.java
@@ -0,0 +1,138 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for ForceEntryModeType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="ForceEntryModeType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="RFID"/>
+ * <enumeration value="Keyed"/>
+ * <enumeration value="Manual"/>
+ * <enumeration value="File"/>
+ * <enumeration value="Scanned"/>
+ * <enumeration value="MagStripe"/>
+ * <enumeration value="ICC"/>
+ * <enumeration value="SynchronousICC"/>
+ * <enumeration value="Tapped"/>
+ * <enumeration value="Contactless"/>
+ * <enumeration value="CheckReader"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "ForceEntryModeType")
+@XmlEnum
+public enum ForceEntryModeType {
+
+
+ /**
+ * Payment instrument information are taken from RFID
+ */
+ RFID("RFID"),
+
+ /**
+ * Manual key entry
+ */
+ @XmlEnumValue("Keyed")
+ @Schema(description = "Manual key entry")
+ KEYED("Keyed"),
+
+ /**
+ * Reading of embossing or OCR of printed data either at time of transaction or after the event.
+ */
+ @XmlEnumValue("Manual")
+ @Schema(description = "Reading of embossing or OCR of printed data either at time of transaction or after the event.")
+ MANUAL("Manual"),
+
+ /**
+ * Account data on file
+ */
+ @XmlEnumValue("File")
+ @Schema(description = "Account data on file")
+ FILE("File"),
+
+ /**
+ * Scanned by a bar code reader.
+ */
+ @XmlEnumValue("Scanned")
+ @Schema(description = "Scanned by a bar code reader.")
+ SCANNED("Scanned"),
+
+ /**
+ * Magnetic stripe
+ */
+ @XmlEnumValue("MagStripe")
+ @Schema(description = "Magnetic stripe ")
+ MAG_STRIPE("MagStripe"),
+
+ /**
+ * Contact ICC (asynchronous)
+ */
+ ICC("ICC"),
+
+ /**
+ * Contact ICC (synchronous)
+ */
+ @XmlEnumValue("SynchronousICC")
+ @Schema(description = "Contact ICC (synchronous)")
+ SYNCHRONOUS_ICC("SynchronousICC"),
+
+ /**
+ * Contactless card reader Magnetic Stripe
+ */
+ @XmlEnumValue("Tapped")
+ @Schema(description = "Contactless card reader Magnetic Stripe")
+ TAPPED("Tapped"),
+
+ /**
+ * Contactless card reader conform to ISO 14443
+ */
+ @XmlEnumValue("Contactless")
+ @Schema(description = "Contactless card reader conform to ISO 14443")
+ CONTACTLESS("Contactless"),
+
+ /**
+ * Check Reader
+ */
+ @XmlEnumValue("CheckReader")
+ @Schema(description = "Check Reader")
+ CHECK_READER("CheckReader");
+ private final String value;
+
+ ForceEntryModeType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value force entry mode type.
+ *
+ * @param v the v
+ * @return the force entry mode type
+ */
+ public static ForceEntryModeType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/GenericProfileType.java b/src/main/java/com/adyen/model/nexo/GenericProfileType.java
new file mode 100644
index 000000000..b78f5ae37
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/GenericProfileType.java
@@ -0,0 +1,78 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for GenericProfileType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="GenericProfileType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Basic"/>
+ * <enumeration value="Standard"/>
+ * <enumeration value="Extended"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "GenericProfileType")
+@XmlEnum
+public enum GenericProfileType {
+
+
+ /**
+ * Protocol services that needs to be implemented by all the Sale and POI
+ */
+ @XmlEnumValue("Basic")
+ @Schema(description = "Protocol services that needs to be implemented by all the Sale and POI")
+ BASIC("Basic"),
+
+ /**
+ * Protocol services involving interaction between Sale System and POI System as devices shared between the two Systems.
+ */
+ @XmlEnumValue("Standard")
+ @Schema(description = "Protocol services involving interaction between Sale System and POI System as devices shared between the two Systems.")
+ STANDARD("Standard"),
+
+ /**
+ * Complete Protocol services
+ */
+ @XmlEnumValue("Extended")
+ @Schema(description = "Complete Protocol services")
+ EXTENDED("Extended");
+ private final String value;
+
+ GenericProfileType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value generic profile type.
+ *
+ * @param v the v
+ * @return the generic profile type
+ */
+ public static GenericProfileType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/GeographicCoordinates.java b/src/main/java/com/adyen/model/nexo/GeographicCoordinates.java
new file mode 100644
index 000000000..975610bc4
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/GeographicCoordinates.java
@@ -0,0 +1,87 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Location on the Earth specified by two numbers representing vertical and horizontal position. -- Usage: Identifies the geographic location of a mobile phone.
+ *
+ * Java class for GeographicCoordinates complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="GeographicCoordinates">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Latitude" type="{}Latitude"/>
+ * <element name="Longitude" type="{}Longitude"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "GeographicCoordinates", propOrder = {
+ "latitude",
+ "longitude"
+})
+public class GeographicCoordinates {
+
+ /**
+ * The Latitude.
+ */
+ @XmlElement(name = "Latitude", required = true)
+ @Schema(description = "Angular distance of a location on the earth south or north of the equator.")
+ protected String latitude;
+ /**
+ * The Longitude.
+ */
+ @XmlElement(name = "Longitude", required = true)
+ @Schema(description = "Angular measurement of the distance of a location on the earth east or west of the Greenwich observatory.")
+ protected String longitude;
+
+ /**
+ * Gets the value of the latitude property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getLatitude() {
+ return latitude;
+ }
+
+ /**
+ * Sets the value of the latitude property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setLatitude(String value) {
+ this.latitude = value;
+ }
+
+ /**
+ * Gets the value of the longitude property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getLongitude() {
+ return longitude;
+ }
+
+ /**
+ * Sets the value of the longitude property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setLongitude(String value) {
+ this.longitude = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/Geolocation.java b/src/main/java/com/adyen/model/nexo/Geolocation.java
new file mode 100644
index 000000000..904b30ada
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/Geolocation.java
@@ -0,0 +1,87 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Geographic location specified by geographic or UTM coordinates. -- Usage: Identifies the geographic location of a mobile phone.
+ *
+ * Java class for Geolocation complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="Geolocation">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="GeographicCoordinates" type="{}GeographicCoordinates" minOccurs="0"/>
+ * <element name="UTMCoordinates" type="{}UTMCoordinates" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Geolocation", propOrder = {
+ "geographicCoordinates",
+ "utmCoordinates"
+})
+public class Geolocation {
+
+ /**
+ * The Geographic coordinates.
+ */
+ @XmlElement(name = "GeographicCoordinates")
+ @Schema(description = "Location on the Earth specified by two numbers representing vertical and horizontal position.")
+ protected GeographicCoordinates geographicCoordinates;
+ /**
+ * The Utm coordinates.
+ */
+ @XmlElement(name = "UTMCoordinates")
+ @Schema(description = "Location on the Earth specified by the Universal Transverse Mercator coordinate system.")
+ protected UTMCoordinates utmCoordinates;
+
+ /**
+ * Gets the value of the geographicCoordinates property.
+ *
+ * @return possible object is {@link GeographicCoordinates }
+ */
+ public GeographicCoordinates getGeographicCoordinates() {
+ return geographicCoordinates;
+ }
+
+ /**
+ * Sets the value of the geographicCoordinates property.
+ *
+ * @param value allowed object is {@link GeographicCoordinates }
+ */
+ public void setGeographicCoordinates(GeographicCoordinates value) {
+ this.geographicCoordinates = value;
+ }
+
+ /**
+ * Gets the value of the utmCoordinates property.
+ *
+ * @return possible object is {@link UTMCoordinates }
+ */
+ public UTMCoordinates getUTMCoordinates() {
+ return utmCoordinates;
+ }
+
+ /**
+ * Sets the value of the utmCoordinates property.
+ *
+ * @param value allowed object is {@link UTMCoordinates }
+ */
+ public void setUTMCoordinates(UTMCoordinates value) {
+ this.utmCoordinates = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/GetTotalsRequest.java b/src/main/java/com/adyen/model/nexo/GetTotalsRequest.java
new file mode 100644
index 000000000..4a21e8761
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/GetTotalsRequest.java
@@ -0,0 +1,102 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlList;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Get Totals Request messageType. -- Usage: It conveys information from the Sale System related to the scope and the format of the totals to be computed by the POI System.
+ *
+ * Java class for GetTotalsRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="GetTotalsRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="TotalDetails" type="{}TotalDetails" minOccurs="0"/>
+ * <element name="TotalFilter" type="{}TotalFilter" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "GetTotalsRequest", propOrder = {
+ "totalDetails",
+ "totalFilter"
+})
+public class GetTotalsRequest {
+
+ /**
+ * The Total details.
+ */
+ @XmlList
+ @XmlElement(name = "TotalDetails")
+ @Schema(description = "Indicates the hierarchical structure of the reconciliation result of the Sale to POI reconciliation. --Rule: Require to present totals per value of element included in this cluster (POI Terminal, Sale Terminal, Cashier, Shift,")
+ protected List totalDetails;
+ /**
+ * The Total filter.
+ */
+ @XmlElement(name = "TotalFilter")
+ @Schema(description = "Filter to compute the totals. --Rule: If structure is not empty")
+ protected TotalFilter totalFilter;
+
+ /**
+ * Gets the value of the totalDetails property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the totalDetails property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getTotalDetails().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link TotalDetailsType }
+ *
+ * @return the total details
+ */
+ public List getTotalDetails() {
+ if (totalDetails == null) {
+ totalDetails = new ArrayList<>();
+ }
+ return this.totalDetails;
+ }
+
+ /**
+ * Gets the value of the totalFilter property.
+ *
+ * @return possible object is {@link TotalFilter }
+ */
+ public TotalFilter getTotalFilter() {
+ return totalFilter;
+ }
+
+ /**
+ * Sets the value of the totalFilter property.
+ *
+ * @param value allowed object is {@link TotalFilter }
+ */
+ public void setTotalFilter(TotalFilter value) {
+ this.totalFilter = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/GetTotalsResponse.java b/src/main/java/com/adyen/model/nexo/GetTotalsResponse.java
new file mode 100644
index 000000000..1af895511
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/GetTotalsResponse.java
@@ -0,0 +1,125 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Reconciliation Response messageType. -- Usage: It conveys Information related to the Reconciliation transaction processed by the POI System
+ *
+ * Java class for GetTotalsResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="GetTotalsResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * <element name="TransactionTotals" type="{}TransactionTotals" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="POIReconciliationID" use="required" type="{}POIReconciliationID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "GetTotalsResponse", propOrder = {
+ "response",
+ "transactionTotals"
+})
+public class GetTotalsResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Transaction totals.
+ */
+ @XmlElement(name = "TransactionTotals")
+ @Schema(description = "Result of the Sale to POI Reconciliation processing. --Rule: if Response.Result is Success")
+ protected List transactionTotals;
+ /**
+ * The Poi reconciliation id.
+ */
+ @XmlElement(name = "POIReconciliationID", required = true)
+ @Schema(description = "Identification of the reconciliation period between Sale and POI. ")
+ protected String poiReconciliationID;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the transactionTotals property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the transactionTotals property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getTransactionTotals().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link TransactionTotals }
+ *
+ * @return the transaction totals
+ */
+ public List getTransactionTotals() {
+ if (transactionTotals == null) {
+ transactionTotals = new ArrayList<>();
+ }
+ return this.transactionTotals;
+ }
+
+ /**
+ * Gets the value of the poiReconciliationID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPOIReconciliationID() {
+ return poiReconciliationID;
+ }
+
+ /**
+ * Sets the value of the poiReconciliationID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPOIReconciliationID(String value) {
+ this.poiReconciliationID = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/GlobalStatusType.java b/src/main/java/com/adyen/model/nexo/GlobalStatusType.java
new file mode 100644
index 000000000..7c4b7398b
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/GlobalStatusType.java
@@ -0,0 +1,84 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for GlobalStatusType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="GlobalStatusType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="OK"/>
+ * <enumeration value="Busy"/>
+ * <enumeration value="Maintenance"/>
+ * <enumeration value="Unreachable"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "GlobalStatusType")
+@XmlEnum
+public enum GlobalStatusType {
+
+
+ /**
+ * The POI is ready to receive and process a request
+ */
+ OK("OK"),
+
+ /**
+ * The POI Terminal cannot process a request because another processing is in progress.
+ */
+ @XmlEnumValue("Busy")
+ @Schema(description = "The POI Terminal cannot process a request because another processing is in progress.")
+ BUSY("Busy"),
+
+ /**
+ * The POI is in maintenance processing
+ */
+ @XmlEnumValue("Maintenance")
+ @Schema(description = "The POI is in maintenance processing")
+ MAINTENANCE("Maintenance"),
+
+ /**
+ * The POI is unreachable or not responding
+ */
+ @XmlEnumValue("Unreachable")
+ @Schema(description = "The POI is unreachable or not responding")
+ UNREACHABLE("Unreachable");
+ private final String value;
+
+ GlobalStatusType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value global status type.
+ *
+ * @param v the v
+ * @return the global status type
+ */
+ public static GlobalStatusType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/HostStatus.java b/src/main/java/com/adyen/model/nexo/HostStatus.java
new file mode 100644
index 000000000..c06378ba7
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/HostStatus.java
@@ -0,0 +1,86 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: State of a Host. -- Usage: Indicate the reachability of the host by the POI Terminal.
+ *
+ * Java class for HostStatus complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="HostStatus">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="AcquirerID" use="required" type="{}AcquirerID" />
+ * <attribute name="IsReachableFlag" type="{}IsReachableFlag" default="true" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "HostStatus")
+public class HostStatus {
+
+ /**
+ * The Acquirer id.
+ */
+ @XmlElement(name = "AcquirerID", required = true)
+ @Schema(description = "Identification of the Acquirer")
+ protected String acquirerID;
+ /**
+ * The Is reachable flag.
+ */
+ @XmlElement(name = "IsReachableFlag")
+ @Schema(description = "Indicate if a Host is reachable")
+ protected Boolean isReachableFlag;
+
+ /**
+ * Gets the value of the acquirerID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getAcquirerID() {
+ return acquirerID;
+ }
+
+ /**
+ * Sets the value of the acquirerID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setAcquirerID(String value) {
+ this.acquirerID = value;
+ }
+
+ /**
+ * Gets the value of the isReachableFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isIsReachableFlag() {
+ if (isReachableFlag == null) {
+ return true;
+ } else {
+ return isReachableFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the isReachableFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setIsReachableFlag(Boolean value) {
+ this.isReachableFlag = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/ICCResetData.java b/src/main/java/com/adyen/model/nexo/ICCResetData.java
new file mode 100644
index 000000000..126a7dac1
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/ICCResetData.java
@@ -0,0 +1,82 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Data of a Chip Card related to the reset of the chip. -- Usage: Card reader device request
+ *
+ * Java class for ICCResetData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="ICCResetData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="ATRValue" type="{}ATRValue" />
+ * <attribute name="CardStatusWords" type="{}CardStatusWords" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ICCResetData")
+public class ICCResetData {
+
+ /**
+ * The Atr value.
+ */
+ @XmlElement(name = "ATRValue")
+ @Schema(description = "Value of the Answer To Reset of a chip card --Rule: if available", minLength = 1, maxLength = 100)
+ protected byte[] atrValue;
+ /**
+ * The Card status words.
+ */
+ @XmlElement(name = "CardStatusWords")
+ @Schema(description = "Status of a smartcard response to a command (SW1-SW2) --Rule: if available", minLength = 2, maxLength = 2)
+ protected byte[] cardStatusWords;
+
+ /**
+ * Gets the value of the atrValue property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getATRValue() {
+ return atrValue;
+ }
+
+ /**
+ * Sets the value of the atrValue property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setATRValue(byte[] value) {
+ this.atrValue = value;
+ }
+
+ /**
+ * Gets the value of the cardStatusWords property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getCardStatusWords() {
+ return cardStatusWords;
+ }
+
+ /**
+ * Sets the value of the cardStatusWords property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setCardStatusWords(byte[] value) {
+ this.cardStatusWords = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/IdentificationSupportType.java b/src/main/java/com/adyen/model/nexo/IdentificationSupportType.java
new file mode 100644
index 000000000..11ba73233
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/IdentificationSupportType.java
@@ -0,0 +1,86 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for IdentificationSupportType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="IdentificationSupportType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="NoCard"/>
+ * <enumeration value="LoyaltyCard"/>
+ * <enumeration value="HybridCard"/>
+ * <enumeration value="LinkedCard"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "IdentificationSupportType")
+@XmlEnum
+public enum IdentificationSupportType {
+
+
+ /**
+ * The identification is not found on a card
+ */
+ @XmlEnumValue("NoCard")
+ @Schema(description = "The identification is not found on a card")
+ NO_CARD("NoCard"),
+
+ /**
+ * The identification is on a card dedicated to this loyalty brand.
+ */
+ @XmlEnumValue("LoyaltyCard")
+ @Schema(description = "The identification is on a card dedicated to this loyalty brand.")
+ LOYALTY_CARD("LoyaltyCard"),
+
+ /**
+ * The identification is on a card which might be used both for the loyalty and the payment.
+ */
+ @XmlEnumValue("HybridCard")
+ @Schema(description = "The identification is on a card which might be used both for the loyalty and the payment.")
+ HYBRID_CARD("HybridCard"),
+
+ /**
+ * The loyalty account is implicitly attached to the payment card. This is usually detected by the loyalty Acquirer.
+ */
+ @XmlEnumValue("LinkedCard")
+ @Schema(description = "The loyalty account is implicitly attached to the payment card. This is usually detected by the loyalty Acquirer.")
+ LINKED_CARD("LinkedCard");
+ private final String value;
+
+ IdentificationSupportType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value identification support type.
+ *
+ * @param v the v
+ * @return the identification support type
+ */
+ public static IdentificationSupportType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/IdentificationType.java b/src/main/java/com/adyen/model/nexo/IdentificationType.java
new file mode 100644
index 000000000..c41a43351
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/IdentificationType.java
@@ -0,0 +1,92 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for IdentificationType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="IdentificationType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="PAN"/>
+ * <enumeration value="ISOTrack2"/>
+ * <enumeration value="BarCode"/>
+ * <enumeration value="AccountNumber"/>
+ * <enumeration value="PhoneNumber"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "IdentificationType")
+@XmlEnum
+public enum IdentificationType {
+
+
+ /**
+ * Standard card identification (card number)
+ */
+ PAN("PAN"),
+
+ /**
+ * ISO Track 2 including identification.
+ */
+ @XmlEnumValue("ISOTrack2")
+ @Schema(description = "ISO Track 2 including identification.")
+ ISO_TRACK_2("ISOTrack2"),
+
+ /**
+ * Bar-code with a specific form of identification
+ */
+ @XmlEnumValue("BarCode")
+ @Schema(description = "Bar-code with a specific form of identification")
+ BAR_CODE("BarCode"),
+
+ /**
+ * Account number
+ */
+ @XmlEnumValue("AccountNumber")
+ @Schema(description = "Account number")
+ ACCOUNT_NUMBER("AccountNumber"),
+
+ /**
+ * A phone number identifies the account on which the phone card is assigned.
+ */
+ @XmlEnumValue("PhoneNumber")
+ @Schema(description = "A phone number identifies the account on which the phone card is assigned.")
+ PHONE_NUMBER("PhoneNumber");
+ private final String value;
+
+ IdentificationType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value identification type.
+ *
+ * @param v the v
+ * @return the identification type
+ */
+ public static IdentificationType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/InfoQualifyType.java b/src/main/java/com/adyen/model/nexo/InfoQualifyType.java
new file mode 100644
index 000000000..6dca4f4fc
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/InfoQualifyType.java
@@ -0,0 +1,134 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for InfoQualifyType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="InfoQualifyType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Status"/>
+ * <enumeration value="Error"/>
+ * <enumeration value="Display"/>
+ * <enumeration value="Sound"/>
+ * <enumeration value="Input"/>
+ * <enumeration value="POIReplication"/>
+ * <enumeration value="CustomerAssistance"/>
+ * <enumeration value="Receipt"/>
+ * <enumeration value="Document"/>
+ * <enumeration value="Voucher"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "InfoQualifyType")
+@XmlEnum
+public enum InfoQualifyType {
+
+
+ /**
+ * The information is a new state on which the messageType sender is entering. For instance, during a payment, the POI could display to the Cashier that POI request
+ */
+ @XmlEnumValue("Status")
+ @Schema(description = "The information is a new state on which the message sender is entering. For instance, during a payment, the POI could display to the Cashier that POI request")
+ STATUS("Status"),
+
+ /**
+ * The information is related to an error situation occurring on the messageType sender.
+ */
+ @XmlEnumValue("Error")
+ @Schema(description = "The information is related to an error situation occurring on the message sender.")
+ ERROR("Error"),
+
+ /**
+ * Standard display interface.
+ */
+ @XmlEnumValue("Display")
+ @Schema(description = "Standard display interface.")
+ DISPLAY("Display"),
+
+ /**
+ * Standard sound interface.
+ */
+ @XmlEnumValue("Sound")
+ @Schema(description = "Standard sound interface.")
+ SOUND("Sound"),
+
+ /**
+ * Answer to a question or information to be entered by the Cashier or the Customer, at the request of the POI Terminal or the Sale Terminal.
+ */
+ @XmlEnumValue("Input")
+ @Schema(description = "Answer to a question or information to be entered by the Cashier or the Customer, at the request of the POI Terminal or the Sale Terminal.")
+ INPUT("Input"),
+
+ /**
+ * Information displayed on the Cardholder POI interface, replicated on the Cashier interface.
+ */
+ @XmlEnumValue("POIReplication")
+ @Schema(description = "Information displayed on the Cardholder POI interface, replicated on the Cashier interface.")
+ POI_REPLICATION("POIReplication"),
+
+ /**
+ * Input of the Cardholder POI interface which can be entered by the Cashier to assist the Customer.
+ */
+ @XmlEnumValue("CustomerAssistance")
+ @Schema(description = "Input of the Cardholder POI interface which can be entered by the Cashier to assist the Customer.")
+ CUSTOMER_ASSISTANCE("CustomerAssistance"),
+
+ /**
+ * Where you print the Payment receipt that could be located on the Sale Terminal or in some cases a restricted Sale ticket on the POI Terminal.
+ */
+ @XmlEnumValue("Receipt")
+ @Schema(description = "Where you print the Payment receipt that could be located on the Sale Terminal or in some cases a restricted Sale ticket on the POI Terminal.")
+ RECEIPT("Receipt"),
+
+ /**
+ * When the POI System wants to print specific document (check, dynamic currency conversion ...). Used by the Sale System when the printer is not located on the
+ */
+ @XmlEnumValue("Document")
+ @Schema(description = "When the POI System wants to print specific document (check, dynamic currency conversion ...). Used by the Sale System when the printer is not located on the")
+ DOCUMENT("Document"),
+
+ /**
+ * Coupons, voucher or special ticket generated by the POI or the Sale System and to be printed.
+ */
+ @XmlEnumValue("Voucher")
+ @Schema(description = "Coupons, voucher or special ticket generated by the POI or the Sale System and to be printed.")
+ VOUCHER("Voucher");
+ private final String value;
+
+ InfoQualifyType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value info qualify type.
+ *
+ * @param v the v
+ * @return the info qualify type
+ */
+ public static InfoQualifyType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/Input.java b/src/main/java/com/adyen/model/nexo/Input.java
new file mode 100644
index 000000000..622ca63e8
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/Input.java
@@ -0,0 +1,216 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Data entered by the user, related to the input command. -- Usage: Choice of a data which contains data entered by the user on the requested device, depending on the requested InputCommand:GetConfirmation: the input is in ConfirmedFlag.GetAnyKey: there is no input.GetFunctionKey: the input is in
+ *
+ * Java class for Input complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="Input">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="ConfirmedFlag" type="{}ConfirmedFlag" minOccurs="0"/>
+ * <element name="FunctionKey" type="{}FunctionKey" minOccurs="0"/>
+ * <element name="TextInput" type="{}TextInput" minOccurs="0"/>
+ * <element name="DigitInput" type="{}DigitInput" minOccurs="0"/>
+ * <element name="Password" type="{}ContentInformation" minOccurs="0"/>
+ * <element name="MenuEntryNumber" type="{}MenuEntryNumber" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="InputCommand" use="required" type="{}InputCommandType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Input", propOrder = {
+ "confirmedFlag",
+ "functionKey",
+ "textInput",
+ "digitInput",
+ "password",
+ "menuEntryNumber"
+})
+public class Input {
+
+ /**
+ * The Confirmed flag.
+ */
+ @XmlElement(name = "ConfirmedFlag")
+ @Schema(description = "Confirmation or not of what has been requested to the user in a GetConfirmation input command. --Rule: Mandatory, if InputCommand is GetConfirmation or SiteManager Not allowed, otherwise")
+ protected Boolean confirmedFlag;
+ /**
+ * The Function key.
+ */
+ @XmlElement(name = "FunctionKey")
+ @Schema(description = "The number of the function key which is typed by the Customer on the POI or the Cashier on the Sale Terminal. --Rule: Mandatory, if InputCommand is GetFunctionKey Not allowed, otherwise")
+ protected String functionKey;
+ /**
+ * The Text input.
+ */
+ @XmlElement(name = "TextInput")
+ @Schema(description = "The text which is typed by the Customer on the POI or the Cashier on the Sale Terminal. --Rule: Mandatory, if InputCommand is TextString Not allowed, otherwise")
+ protected String textInput;
+ /**
+ * The Digit input.
+ */
+ @XmlElement(name = "DigitInput")
+ @Schema(description = "The digits which are typed by the Customer on the POI or the Cashier on the Sale Terminal. --Rule: Mandatory, if InputCommand is DigitString Not allowed, otherwise")
+ protected String digitInput;
+ /**
+ * The Password.
+ */
+ @XmlElement(name = "Password")
+ @Schema(description = "A text password which is typed by the Customer on the POI or the Cashier on the Sale Terminal. --Rule: Mandatory, if InputCommand is Password Not allowed, otherwise")
+ protected ContentInformation password;
+ /**
+ * The Menu entry number.
+ */
+ @XmlElement(name = "MenuEntryNumber")
+ @Schema(description = "The index from 1 to n, of the menu item which is selected by the Cashier on the Sale Terminal. The value -1 indicates --Rule: Mandatory, if InputCommand is GetMenuEntry Not allowed, otherwise")
+ protected Integer[] menuEntryNumber;
+ /**
+ * The Input command.
+ */
+ @XmlElement(name = "InputCommand", required = true)
+ @Schema(description = "Type of requested input --Rule: Copy")
+ protected InputCommandType inputCommand;
+
+ /**
+ * Gets the value of the confirmedFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public Boolean isConfirmedFlag() {
+ return confirmedFlag;
+ }
+
+ /**
+ * Sets the value of the confirmedFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setConfirmedFlag(Boolean value) {
+ this.confirmedFlag = value;
+ }
+
+ /**
+ * Gets the value of the functionKey property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getFunctionKey() {
+ return functionKey;
+ }
+
+ /**
+ * Sets the value of the functionKey property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setFunctionKey(String value) {
+ this.functionKey = value;
+ }
+
+ /**
+ * Gets the value of the textInput property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getTextInput() {
+ return textInput;
+ }
+
+ /**
+ * Sets the value of the textInput property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setTextInput(String value) {
+ this.textInput = value;
+ }
+
+ /**
+ * Gets the value of the digitInput property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getDigitInput() {
+ return digitInput;
+ }
+
+ /**
+ * Sets the value of the digitInput property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setDigitInput(String value) {
+ this.digitInput = value;
+ }
+
+ /**
+ * Gets the value of the password property.
+ *
+ * @return possible object is {@link ContentInformation }
+ */
+ public ContentInformation getPassword() {
+ return password;
+ }
+
+ /**
+ * Sets the value of the password property.
+ *
+ * @param value allowed object is {@link ContentInformation }
+ */
+ public void setPassword(ContentInformation value) {
+ this.password = value;
+ }
+
+ /**
+ * Gets the value of the menuEntryNumber property.
+ *
+ * @return possible object is Array of {@link Integer }
+ */
+ public Integer[] getMenuEntryNumber() {
+ return menuEntryNumber;
+ }
+
+ /**
+ * Sets the value of the menuEntryNumber property.
+ *
+ * @param value allowed object is Array of {@link Integer }
+ */
+ public void setMenuEntryNumber(Integer[] value) {
+ this.menuEntryNumber = value;
+ }
+
+ /**
+ * Gets the value of the inputCommand property.
+ *
+ * @return possible object is {@link InputCommandType }
+ */
+ public InputCommandType getInputCommand() {
+ return inputCommand;
+ }
+
+ /**
+ * Sets the value of the inputCommand property.
+ *
+ * @param value allowed object is {@link InputCommandType }
+ */
+ public void setInputCommand(InputCommandType value) {
+ this.inputCommand = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/InputCommandType.java b/src/main/java/com/adyen/model/nexo/InputCommandType.java
new file mode 100644
index 000000000..aef0893c5
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/InputCommandType.java
@@ -0,0 +1,126 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for InputCommandType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="InputCommandType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="GetAnyKey"/>
+ * <enumeration value="GetConfirmation"/>
+ * <enumeration value="SiteManager"/>
+ * <enumeration value="TextString"/>
+ * <enumeration value="DigitString"/>
+ * <enumeration value="DecimalString"/>
+ * <enumeration value="GetFunctionKey"/>
+ * <enumeration value="GetMenuEntry"/>
+ * <enumeration value="Password"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "InputCommandType")
+@XmlEnum
+public enum InputCommandType {
+
+
+ /**
+ * Wait for a key pressed on the Terminal, to be able to read the messageType displayed on the Terminal.
+ */
+ @XmlEnumValue("GetAnyKey")
+ @Schema(description = "Wait for a key pressed on the Terminal, to be able to read the message displayed on the Terminal.")
+ GET_ANY_KEY("GetAnyKey"),
+
+ /**
+ * Wait for a confirmation Yes (Y) or No (N) on the Sale Terminal. Wait for a confirmation (Valid or Cancel button) on the POI Terminal. The result of the command
+ */
+ @XmlEnumValue("GetConfirmation")
+ @Schema(description = "Wait for a confirmation Yes (Y) or No (N) on the Sale Terminal. Wait for a confirmation (Valid or Cancel button) on the POI Terminal. The result of the command")
+ GET_CONFIRMATION("GetConfirmation"),
+
+ /**
+ * Wait for a confirmation Yes (Y) or No (N) of the Site Manager on the Sale Terminal.
+ */
+ @XmlEnumValue("SiteManager")
+ @Schema(description = "Wait for a confirmation Yes (Y) or No (N) of the Site Manager on the Sale Terminal.")
+ SITE_MANAGER("SiteManager"),
+
+ /**
+ * Wait for a string of alphanumeric characters, the length range could be specified.
+ */
+ @XmlEnumValue("TextString")
+ @Schema(description = "Wait for a string of alphanumeric characters, the length range could be specified.")
+ TEXT_STRING("TextString"),
+
+ /**
+ * Wait for a string of digit characters, the length range could be specified.
+ */
+ @XmlEnumValue("DigitString")
+ @Schema(description = "Wait for a string of digit characters, the length range could be specified.")
+ DIGIT_STRING("DigitString"),
+
+ /**
+ * Wait for a string of digit characters with a decimal point, the length range could be specified.
+ */
+ @XmlEnumValue("DecimalString")
+ @Schema(description = "Wait for a string of digit characters with a decimal point, the length range could be specified.")
+ DECIMAL_STRING("DecimalString"),
+
+ /**
+ * Wait for a function key pressed on the Terminal: From POI, Valid, Clear, Correct, Generic Function key number. From Sale, Generic Function key.
+ */
+ @XmlEnumValue("GetFunctionKey")
+ @Schema(description = "Wait for a function key pressed on the Terminal: From POI, Valid, Clear, Correct, Generic Function key number. From Sale, Generic Function key.")
+ GET_FUNCTION_KEY("GetFunctionKey"),
+
+ /**
+ * To choose an entry among a list of entrys (all of them are not necessary selectable). The OutputFormat has to be MenuEntry.
+ */
+ @XmlEnumValue("GetMenuEntry")
+ @Schema(description = "To choose an entry among a list of entrys (all of them are not necessary selectable). The OutputFormat has to be MenuEntry.")
+ GET_MENU_ENTRY("GetMenuEntry"),
+
+ /**
+ * Request to enter a password with masked characters while typing the password.
+ */
+ @XmlEnumValue("Password")
+ @Schema(description = "Request to enter a password with masked characters while typing the password.")
+ PASSWORD("Password");
+ private final String value;
+
+ InputCommandType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value input command type.
+ *
+ * @param v the v
+ * @return the input command type
+ */
+ public static InputCommandType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/InputData.java b/src/main/java/com/adyen/model/nexo/InputData.java
new file mode 100644
index 000000000..34a252c17
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/InputData.java
@@ -0,0 +1,582 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigInteger;
+
+
+/**
+ * Definition: Information related to an Input request. -- Usage: 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
+ *
+ * Java class for InputData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="InputData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DefaultInputString" type="{}DefaultInputString" minOccurs="0"/>
+ * <element name="StringMask" type="{}StringMask" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="Device" use="required" type="{}DeviceType" />
+ * <attribute name="InfoQualify" use="required" type="{}InfoQualifyType" />
+ * <attribute name="InputCommand" use="required" type="{}InputCommandType" />
+ * <attribute name="NotifyCardInputFlag" type="{}NotifyCardInputFlag" default="false" />
+ * <attribute name="MaxInputTime" type="{}MaxInputTime" />
+ * <attribute name="ImmediateResponseFlag" type="{}ImmediateResponseFlag" default="false" />
+ * <attribute name="MinLength" type="{}MinLength" />
+ * <attribute name="MaxLength" type="{}MaxLength" />
+ * <attribute name="MaxDecimalLength" type="{}MaxDecimalLength" />
+ * <attribute name="WaitUserValidationFlag" type="{}WaitUserValidationFlag" default="true" />
+ * <attribute name="FromRightToLeftFlag" type="{}FromRightToLeftFlag" default="false" />
+ * <attribute name="MaskCharactersFlag" type="{}MaskCharactersFlag" default="false" />
+ * <attribute name="BeepKeyFlag" type="{}BeepKeyFlag" default="false" />
+ * <attribute name="GlobalCorrectionFlag" type="{}GlobalCorrectionFlag" default="false" />
+ * <attribute name="DisableCancelFlag" type="{}DisableCancelFlag" default="false" />
+ * <attribute name="DisableCorrectFlag" type="{}DisableCorrectFlag" default="false" />
+ * <attribute name="DisableValidFlag" type="{}DisableValidFlag" default="false" />
+ * <attribute name="MenuBackFlag" type="{}MenuBackFlag" default="false" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "InputData", propOrder = {
+ "defaultInputString",
+ "stringMask"
+})
+public class InputData {
+
+ /**
+ * The Default input string.
+ */
+ @XmlElement(name = "DefaultInputString")
+ @Schema(description = "Default string value for an input command. --Rule: Not allowed if InputCommand is not TextString, DigitString or DecimalString")
+ protected String defaultInputString;
+ /**
+ * The String mask.
+ */
+ @XmlElement(name = "StringMask")
+ @Schema(description = "String mask to get information requiring a specific format. --Rule: Not allowed if InputCommand is not TextString, DigitString or DecimalString")
+ protected String stringMask;
+ /**
+ * The Device.
+ */
+ @XmlElement(name = "Device", required = true)
+ @Schema(description = "Logical device located on a Sale Terminal or a POI Terminal, in term of class of information to output (display, print --Rule: CashierInput , CustomerInput, CustomerAssistance")
+ protected DeviceType device;
+ /**
+ * The Info qualify.
+ */
+ @XmlElement(name = "InfoQualify", required = true)
+ @Schema(description = "Qualification of the information to sent to an output logical device, to display or print to the Cashier or the --Rule: Input, CustomerAssistance")
+ protected InfoQualifyType infoQualify;
+ /**
+ * The Input command.
+ */
+ @XmlElement(name = "InputCommand", required = true)
+ @Schema(description = "Type of requested input")
+ protected InputCommandType inputCommand;
+ /**
+ * The Notify card input flag.
+ */
+ @XmlElement(name = "NotifyCardInputFlag")
+ @Schema(description = "Request Notification of card entered in the POI card reader.")
+ protected Boolean notifyCardInputFlag;
+ /**
+ * The Max input time.
+ */
+ @XmlElement(name = "MaxInputTime")
+ @Schema(description = "Maximum input time in seconds --Rule: If time limit for responding")
+ protected BigInteger maxInputTime;
+ /**
+ * The Immediate response flag.
+ */
+ @XmlElement(name = "ImmediateResponseFlag")
+ @Schema(description = "Request Immediate response to the message without waiting for the completion of the command. --Rule: Optional if InputCommand is \"GetAnyKey\".")
+ protected Boolean immediateResponseFlag;
+ /**
+ * The Min length.
+ */
+ @XmlElement(name = "MinLength")
+ @Schema(description = "Minimum input length --Rule: Not allowed if InputCommand is not TextString or DigitString")
+ protected BigInteger minLength;
+ /**
+ * The Max length.
+ */
+ @XmlElement(name = "MaxLength")
+ @Schema(description = "Maximum input length --Rule: Not allowed if InputCommand is not TextString or DigitString")
+ protected BigInteger maxLength;
+ /**
+ * The Max decimal length.
+ */
+ @XmlElement(name = "MaxDecimalLength")
+ @Schema(description = "Maximum input length of the decimal part (without decimal point) --Rule: Not allowed if InputCommand is not DecimalString Greater than MinLength, lower than MaxLength.")
+ protected BigInteger maxDecimalLength;
+ /**
+ * The Wait user validation flag.
+ */
+ @XmlElement(name = "WaitUserValidationFlag")
+ @Schema(description = "Indicates that the user must confirm the entered characters, when the maximum allowed length is reached. --Rule: Optional if MaxLength or MaxDecimalLength present ")
+ protected Boolean waitUserValidationFlag;
+ /**
+ * The From right to left flag.
+ */
+ @XmlElement(name = "FromRightToLeftFlag")
+ @Schema(description = "Indicate if the entered character has to be displayed from the right to the left of the display field. --Rule: Not allowed if InputCommand is not TextString, DigitString or DecimalString")
+ protected Boolean fromRightToLeftFlag;
+ /**
+ * The Mask characters flag.
+ */
+ @XmlElement(name = "MaskCharactersFlag")
+ @Schema(description = "Indicates to mask the characters entered by the user (i.e. replacing in the display of the input, the entered character --Rule: Not allowed if InputCommand is not TextString, DigitString or Password")
+ protected Boolean maskCharactersFlag;
+ /**
+ * The Beep key flag.
+ */
+ @XmlElement(name = "BeepKeyFlag")
+ @Schema(description = "Indicates, when the user press a key, if a beep has to be generated (value True).")
+ protected Boolean beepKeyFlag;
+ /**
+ * The Global correction flag.
+ */
+ @XmlElement(name = "GlobalCorrectionFlag")
+ @Schema(description = "Indicates, when the user press the Correct function key in an input entry, if all the entered characters are removed --Rule: Not allowed if InputCommand is not TextString, DigitString, Password or DecimalString")
+ protected Boolean globalCorrectionFlag;
+ /**
+ * The Disable cancel flag.
+ */
+ @XmlElement(name = "DisableCancelFlag")
+ @Schema(description = "Indicates if the Cancel function key has to be desactived (value True). --Rule: Not allowed if InputCommand is not GetConfirmation, SiteManager, or GetMenuEntry")
+ protected Boolean disableCancelFlag;
+ /**
+ * The Disable correct flag.
+ */
+ @XmlElement(name = "DisableCorrectFlag")
+ @Schema(description = "Indicates if the Correct function key has to be desactived (value True). --Rule: Not allowed if InputCommand is not GetConfirmation, SiteManager, or GetMenuEntry")
+ protected Boolean disableCorrectFlag;
+ /**
+ * The Disable valid flag.
+ */
+ @XmlElement(name = "DisableValidFlag")
+ @Schema(description = "Indicates if the Valid function key has to be desactived (value True). --Rule: Not allowed if InputCommand is not GetConfirmation, SiteManager, or GetMenuEntry")
+ protected Boolean disableValidFlag;
+ /**
+ * The Menu back flag.
+ */
+ @XmlElement(name = "MenuBackFlag")
+ @Schema(description = "If it has the value True, it indicates that the \"Back\" function key (respectively \"Home\" function key) may be used to --Rule: Allowed for the GetMenuEntry value of InputCommand.")
+ protected Boolean menuBackFlag;
+
+ /**
+ * Gets the value of the defaultInputString property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getDefaultInputString() {
+ return defaultInputString;
+ }
+
+ /**
+ * Sets the value of the defaultInputString property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setDefaultInputString(String value) {
+ this.defaultInputString = value;
+ }
+
+ /**
+ * Gets the value of the stringMask property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getStringMask() {
+ return stringMask;
+ }
+
+ /**
+ * Sets the value of the stringMask property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setStringMask(String value) {
+ this.stringMask = value;
+ }
+
+ /**
+ * Gets the value of the device property.
+ *
+ * @return possible object is {@link DeviceType }
+ */
+ public DeviceType getDevice() {
+ return device;
+ }
+
+ /**
+ * Sets the value of the device property.
+ *
+ * @param value allowed object is {@link DeviceType }
+ */
+ public void setDevice(DeviceType value) {
+ this.device = value;
+ }
+
+ /**
+ * Gets the value of the infoQualify property.
+ *
+ * @return possible object is {@link InfoQualifyType }
+ */
+ public InfoQualifyType getInfoQualify() {
+ return infoQualify;
+ }
+
+ /**
+ * Sets the value of the infoQualify property.
+ *
+ * @param value allowed object is {@link InfoQualifyType }
+ */
+ public void setInfoQualify(InfoQualifyType value) {
+ this.infoQualify = value;
+ }
+
+ /**
+ * Gets the value of the inputCommand property.
+ *
+ * @return possible object is {@link InputCommandType }
+ */
+ public InputCommandType getInputCommand() {
+ return inputCommand;
+ }
+
+ /**
+ * Sets the value of the inputCommand property.
+ *
+ * @param value allowed object is {@link InputCommandType }
+ */
+ public void setInputCommand(InputCommandType value) {
+ this.inputCommand = value;
+ }
+
+ /**
+ * Gets the value of the notifyCardInputFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isNotifyCardInputFlag() {
+ if (notifyCardInputFlag == null) {
+ return false;
+ } else {
+ return notifyCardInputFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the notifyCardInputFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setNotifyCardInputFlag(Boolean value) {
+ this.notifyCardInputFlag = value;
+ }
+
+ /**
+ * Gets the value of the maxInputTime property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getMaxInputTime() {
+ return maxInputTime;
+ }
+
+ /**
+ * Sets the value of the maxInputTime property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setMaxInputTime(BigInteger value) {
+ this.maxInputTime = value;
+ }
+
+ /**
+ * Gets the value of the immediateResponseFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isImmediateResponseFlag() {
+ if (immediateResponseFlag == null) {
+ return false;
+ } else {
+ return immediateResponseFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the immediateResponseFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setImmediateResponseFlag(Boolean value) {
+ this.immediateResponseFlag = value;
+ }
+
+ /**
+ * Gets the value of the minLength property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getMinLength() {
+ return minLength;
+ }
+
+ /**
+ * Sets the value of the minLength property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setMinLength(BigInteger value) {
+ this.minLength = value;
+ }
+
+ /**
+ * Gets the value of the maxLength property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getMaxLength() {
+ return maxLength;
+ }
+
+ /**
+ * Sets the value of the maxLength property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setMaxLength(BigInteger value) {
+ this.maxLength = value;
+ }
+
+ /**
+ * Gets the value of the maxDecimalLength property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getMaxDecimalLength() {
+ return maxDecimalLength;
+ }
+
+ /**
+ * Sets the value of the maxDecimalLength property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setMaxDecimalLength(BigInteger value) {
+ this.maxDecimalLength = value;
+ }
+
+ /**
+ * Gets the value of the waitUserValidationFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isWaitUserValidationFlag() {
+ if (waitUserValidationFlag == null) {
+ return true;
+ } else {
+ return waitUserValidationFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the waitUserValidationFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setWaitUserValidationFlag(Boolean value) {
+ this.waitUserValidationFlag = value;
+ }
+
+ /**
+ * Gets the value of the fromRightToLeftFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isFromRightToLeftFlag() {
+ if (fromRightToLeftFlag == null) {
+ return false;
+ } else {
+ return fromRightToLeftFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the fromRightToLeftFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setFromRightToLeftFlag(Boolean value) {
+ this.fromRightToLeftFlag = value;
+ }
+
+ /**
+ * Gets the value of the maskCharactersFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isMaskCharactersFlag() {
+ if (maskCharactersFlag == null) {
+ return false;
+ } else {
+ return maskCharactersFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the maskCharactersFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setMaskCharactersFlag(Boolean value) {
+ this.maskCharactersFlag = value;
+ }
+
+ /**
+ * Gets the value of the beepKeyFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isBeepKeyFlag() {
+ if (beepKeyFlag == null) {
+ return false;
+ } else {
+ return beepKeyFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the beepKeyFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setBeepKeyFlag(Boolean value) {
+ this.beepKeyFlag = value;
+ }
+
+ /**
+ * Gets the value of the globalCorrectionFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isGlobalCorrectionFlag() {
+ if (globalCorrectionFlag == null) {
+ return false;
+ } else {
+ return globalCorrectionFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the globalCorrectionFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setGlobalCorrectionFlag(Boolean value) {
+ this.globalCorrectionFlag = value;
+ }
+
+ /**
+ * Gets the value of the disableCancelFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isDisableCancelFlag() {
+ if (disableCancelFlag == null) {
+ return false;
+ } else {
+ return disableCancelFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the disableCancelFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setDisableCancelFlag(Boolean value) {
+ this.disableCancelFlag = value;
+ }
+
+ /**
+ * Gets the value of the disableCorrectFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isDisableCorrectFlag() {
+ if (disableCorrectFlag == null) {
+ return false;
+ } else {
+ return disableCorrectFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the disableCorrectFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setDisableCorrectFlag(Boolean value) {
+ this.disableCorrectFlag = value;
+ }
+
+ /**
+ * Gets the value of the disableValidFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isDisableValidFlag() {
+ if (disableValidFlag == null) {
+ return false;
+ } else {
+ return disableValidFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the disableValidFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setDisableValidFlag(Boolean value) {
+ this.disableValidFlag = value;
+ }
+
+ /**
+ * Gets the value of the menuBackFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isMenuBackFlag() {
+ if (menuBackFlag == null) {
+ return false;
+ } else {
+ return menuBackFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the menuBackFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setMenuBackFlag(Boolean value) {
+ this.menuBackFlag = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/InputRequest.java b/src/main/java/com/adyen/model/nexo/InputRequest.java
new file mode 100644
index 000000000..aad69593c
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/InputRequest.java
@@ -0,0 +1,87 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the Input Request messageType. -- Usage: 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.
+ *
+ * Java class for InputRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="InputRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DisplayOutput" type="{}DisplayOutput" minOccurs="0"/>
+ * <element name="InputData" type="{}InputData"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "InputRequest", propOrder = {
+ "displayOutput",
+ "inputData"
+})
+public class InputRequest {
+
+ /**
+ * The Display output.
+ */
+ @XmlElement(name = "DisplayOutput")
+ @Schema(description = "Information to display and the way to process the display. --Rule: Mandatory if the display device is managed by the receiver.")
+ protected DisplayOutput displayOutput;
+ /**
+ * The Input data.
+ */
+ @XmlElement(name = "InputData", required = true)
+ @Schema(description = "Information related to an Input request.")
+ protected InputData inputData;
+
+ /**
+ * Gets the value of the displayOutput property.
+ *
+ * @return possible object is {@link DisplayOutput }
+ */
+ public DisplayOutput getDisplayOutput() {
+ return displayOutput;
+ }
+
+ /**
+ * Sets the value of the displayOutput property.
+ *
+ * @param value allowed object is {@link DisplayOutput }
+ */
+ public void setDisplayOutput(DisplayOutput value) {
+ this.displayOutput = value;
+ }
+
+ /**
+ * Gets the value of the inputData property.
+ *
+ * @return possible object is {@link InputData }
+ */
+ public InputData getInputData() {
+ return inputData;
+ }
+
+ /**
+ * Sets the value of the inputData property.
+ *
+ * @param value allowed object is {@link InputData }
+ */
+ public void setInputData(InputData value) {
+ this.inputData = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/InputResponse.java b/src/main/java/com/adyen/model/nexo/InputResponse.java
new file mode 100644
index 000000000..50350a4e3
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/InputResponse.java
@@ -0,0 +1,87 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the Input Response messageType. -- Usage: It conveys:The result of the outputs, parallel to the messageType request, except if response not required and absent.The result of the input
+ *
+ * Java class for InputResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="InputResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="OutputResult" type="{}OutputResult" minOccurs="0"/>
+ * <element name="InputResult" type="{}InputResult"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "InputResponse", propOrder = {
+ "outputResult",
+ "inputResult"
+})
+public class InputResponse {
+
+ /**
+ * The Output result.
+ */
+ @XmlElement(name = "OutputResult")
+ @Schema(description = "Information related to the result the output (display, print, input). --Rule: If DisplayOutput present in the request.")
+ protected OutputResult outputResult;
+ /**
+ * The Input result.
+ */
+ @XmlElement(name = "InputResult", required = true)
+ @Schema(description = "Information related to the result the input.")
+ protected InputResult inputResult;
+
+ /**
+ * Gets the value of the outputResult property.
+ *
+ * @return possible object is {@link OutputResult }
+ */
+ public OutputResult getOutputResult() {
+ return outputResult;
+ }
+
+ /**
+ * Sets the value of the outputResult property.
+ *
+ * @param value allowed object is {@link OutputResult }
+ */
+ public void setOutputResult(OutputResult value) {
+ this.outputResult = value;
+ }
+
+ /**
+ * Gets the value of the inputResult property.
+ *
+ * @return possible object is {@link InputResult }
+ */
+ public InputResult getInputResult() {
+ return inputResult;
+ }
+
+ /**
+ * Sets the value of the inputResult property.
+ *
+ * @param value allowed object is {@link InputResult }
+ */
+ public void setInputResult(InputResult value) {
+ this.inputResult = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/InputResult.java b/src/main/java/com/adyen/model/nexo/InputResult.java
new file mode 100644
index 000000000..cfae812ab
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/InputResult.java
@@ -0,0 +1,137 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Information related to the result the input. -- Usage: In the messageType response, it contains the result and the content of the input.
+ *
+ * Java class for InputResult complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="InputResult">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * <element name="Input" type="{}Input" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="Device" use="required" type="{}DeviceType" />
+ * <attribute name="InfoQualify" use="required" type="{}InfoQualifyType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "InputResult", propOrder = {
+ "response",
+ "input"
+})
+public class InputResult {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Input.
+ */
+ @XmlElement(name = "Input")
+ @Schema(description = "Data entered by the user, related to the input command. --Rule: If Response.Result is Success")
+ protected Input input;
+ /**
+ * The Device.
+ */
+ @XmlElement(name = "Device", required = true)
+ @Schema(description = "Logical device located on a Sale Terminal or a POI Terminal, in term of class of information to output (display, print --Rule: Copy")
+ protected DeviceType device;
+ /**
+ * The Info qualify.
+ */
+ @XmlElement(name = "InfoQualify", required = true)
+ @Schema(description = "Qualification of the information to sent to an output logical device, to display or print to the Cashier or the --Rule: Copy")
+ protected InfoQualifyType infoQualify;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the input property.
+ *
+ * @return possible object is {@link Input }
+ */
+ public Input getInput() {
+ return input;
+ }
+
+ /**
+ * Sets the value of the input property.
+ *
+ * @param value allowed object is {@link Input }
+ */
+ public void setInput(Input value) {
+ this.input = value;
+ }
+
+ /**
+ * Gets the value of the device property.
+ *
+ * @return possible object is {@link DeviceType }
+ */
+ public DeviceType getDevice() {
+ return device;
+ }
+
+ /**
+ * Sets the value of the device property.
+ *
+ * @param value allowed object is {@link DeviceType }
+ */
+ public void setDevice(DeviceType value) {
+ this.device = value;
+ }
+
+ /**
+ * Gets the value of the infoQualify property.
+ *
+ * @return possible object is {@link InfoQualifyType }
+ */
+ public InfoQualifyType getInfoQualify() {
+ return infoQualify;
+ }
+
+ /**
+ * Sets the value of the infoQualify property.
+ *
+ * @param value allowed object is {@link InfoQualifyType }
+ */
+ public void setInfoQualify(InfoQualifyType value) {
+ this.infoQualify = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/InputUpdate.java b/src/main/java/com/adyen/model/nexo/InputUpdate.java
new file mode 100644
index 000000000..94bba0077
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/InputUpdate.java
@@ -0,0 +1,228 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigInteger;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Input Update messageType. -- Usage: It conveys update of the display of an Input request in progress.
+ *
+ * Java class for InputUpdate complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="InputUpdate">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MessageReference" type="{}MessageReference"/>
+ * <element name="OutputContent" type="{}OutputContent"/>
+ * <element name="MenuEntry" type="{}MenuEntry" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="OutputSignature" type="{}OutputSignature" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="MinLength" type="{}MinLength" />
+ * <attribute name="MaxLength" type="{}MaxLength" />
+ * <attribute name="MaxDecimalLength" type="{}MaxDecimalLength" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "InputUpdate", propOrder = {
+ "messageReference",
+ "outputContent",
+ "menuEntry",
+ "outputSignature"
+})
+public class InputUpdate {
+
+ /**
+ * The Message reference.
+ */
+ @XmlElement(name = "MessageReference", required = true)
+ @Schema(description = "Identification of a previous POI transaction.")
+ protected MessageReference messageReference;
+ /**
+ * The Output content.
+ */
+ @XmlElement(name = "OutputContent", required = true)
+ @Schema(description = "Content to display or print.")
+ protected OutputContent outputContent;
+ /**
+ * The Menu entry.
+ */
+ @XmlElement(name = "MenuEntry")
+ @Schema(description = "An entryof the menu to present to the Cashier")
+ protected List menuEntry;
+ /**
+ * The Output signature.
+ */
+ @XmlElement(name = "OutputSignature")
+ @Schema(description = "Vendor specific signature of text message to display or print.")
+ protected byte[] outputSignature;
+ /**
+ * The Min length.
+ */
+ @XmlElement(name = "MinLength")
+ @Schema(description = "Minimum input length --Rule: If present in the Input to update.")
+ protected BigInteger minLength;
+ /**
+ * The Max length.
+ */
+ @XmlElement(name = "MaxLength")
+ @Schema(description = "Maximum input length --Rule: If present in the Input to update.")
+ protected BigInteger maxLength;
+ /**
+ * The Max decimal length.
+ */
+ @XmlElement(name = "MaxDecimalLength")
+ @Schema(description = "Maximum input length of the decimal part (without decimal point) --Rule: If present in the Input to update.")
+ protected BigInteger maxDecimalLength;
+
+ /**
+ * Gets the value of the messageReference property.
+ *
+ * @return possible object is {@link MessageReference }
+ */
+ public MessageReference getMessageReference() {
+ return messageReference;
+ }
+
+ /**
+ * Sets the value of the messageReference property.
+ *
+ * @param value allowed object is {@link MessageReference }
+ */
+ public void setMessageReference(MessageReference value) {
+ this.messageReference = value;
+ }
+
+ /**
+ * Gets the value of the outputContent property.
+ *
+ * @return possible object is {@link OutputContent }
+ */
+ public OutputContent getOutputContent() {
+ return outputContent;
+ }
+
+ /**
+ * Sets the value of the outputContent property.
+ *
+ * @param value allowed object is {@link OutputContent }
+ */
+ public void setOutputContent(OutputContent value) {
+ this.outputContent = value;
+ }
+
+ /**
+ * Gets the value of the menuEntry property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the menuEntry property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getMenuEntry().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link MenuEntry }
+ *
+ * @return the menu entry
+ */
+ public List getMenuEntry() {
+ if (menuEntry == null) {
+ menuEntry = new ArrayList<>();
+ }
+ return this.menuEntry;
+ }
+
+ /**
+ * Gets the value of the outputSignature property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getOutputSignature() {
+ return outputSignature;
+ }
+
+ /**
+ * Sets the value of the outputSignature property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setOutputSignature(byte[] value) {
+ this.outputSignature = value;
+ }
+
+ /**
+ * Gets the value of the minLength property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getMinLength() {
+ return minLength;
+ }
+
+ /**
+ * Sets the value of the minLength property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setMinLength(BigInteger value) {
+ this.minLength = value;
+ }
+
+ /**
+ * Gets the value of the maxLength property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getMaxLength() {
+ return maxLength;
+ }
+
+ /**
+ * Sets the value of the maxLength property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setMaxLength(BigInteger value) {
+ this.maxLength = value;
+ }
+
+ /**
+ * Gets the value of the maxDecimalLength property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getMaxDecimalLength() {
+ return maxDecimalLength;
+ }
+
+ /**
+ * Sets the value of the maxDecimalLength property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setMaxDecimalLength(BigInteger value) {
+ this.maxDecimalLength = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/Instalment.java b/src/main/java/com/adyen/model/nexo/Instalment.java
new file mode 100644
index 000000000..f3d7c2d14
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/Instalment.java
@@ -0,0 +1,283 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
+
+/**
+ * Definition: Information related an instalment transaction. -- Usage: To request an instalment to the issuer, or to make individual instalments of a payment transaction.
+ *
+ * Java class for Instalment complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="Instalment">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="Instalment" type="{}InstalmentType" />
+ * <attribute name="SequenceNumber" type="{}SequenceNumber" />
+ * <attribute name="PlanID" type="{}PlanID" />
+ * <attribute name="Period" type="{}Period" />
+ * <attribute name="PeriodUnit" type="{}PeriodUnitType" />
+ * <attribute name="FirstPaymentDate" type="{}ISODate" />
+ * <attribute name="TotalNbOfPayments" type="{}TotalNbOfPayments" />
+ * <attribute name="CumulativeAmount" type="{}SimpleAmountType" />
+ * <attribute name="FirstAmount" type="{}SimpleAmountType" />
+ * <attribute name="Charges" type="{}SimpleAmountType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Instalment")
+public class Instalment {
+
+ /**
+ * The Instalment type.
+ */
+ @XmlElement(name = "InstalmentType")
+ @Schema(description = "Type of instalment transaction.")
+ protected InstalmentType instalmentType;
+ /**
+ * The Sequence number.
+ */
+ @XmlElement(name = "SequenceNumber")
+ @Schema(description = "Sequence number of the instalment.")
+ protected BigInteger sequenceNumber;
+ /**
+ * The Plan id.
+ */
+ @XmlElement(name = "PlanID")
+ @Schema(description = "Identification of an instalment plan.")
+ protected String planID;
+ /**
+ * The Period.
+ */
+ @XmlElement(name = "Period")
+ @Schema(description = "Period of time with defined unit of time.")
+ protected BigInteger period;
+ /**
+ * The Period unit.
+ */
+ @XmlElement(name = "PeriodUnit")
+ protected PeriodUnitType periodUnit;
+ /**
+ * The First payment date.
+ */
+ @XmlElement(name = "FirstPaymentDate")
+ @Schema(description = "First date of a payment.")
+ protected String firstPaymentDate;
+ /**
+ * The Total nb of payments.
+ */
+ @XmlElement(name = "TotalNbOfPayments")
+ @Schema(description = "Total number of payments.")
+ protected BigInteger totalNbOfPayments;
+ /**
+ * The Cumulative amount.
+ */
+ @XmlElement(name = "CumulativeAmount")
+ @Schema(description = "Sum of a collection of amounts.")
+ protected BigDecimal cumulativeAmount;
+ /**
+ * The First amount.
+ */
+ @XmlElement(name = "FirstAmount")
+ @Schema(description = "First amount of a payment.")
+ protected BigDecimal firstAmount;
+ /**
+ * The Charges.
+ */
+ @XmlElement(name = "Charges")
+ @Schema(description = "Charges related to a transaction.")
+ protected BigDecimal charges;
+
+ /**
+ * Gets the value of the instalment property.
+ *
+ * @return possible object is {@link InstalmentType }
+ */
+ public InstalmentType getInstalmentType() {
+ return instalmentType;
+ }
+
+ /**
+ * Sets the value of the instalmentType property.
+ *
+ * @param value allowed object is {@link InstalmentType }
+ */
+ public void setInstalmentType(InstalmentType value) {
+ this.instalmentType = value;
+ }
+
+ /**
+ * Gets the value of the sequenceNumber property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getSequenceNumber() {
+ return sequenceNumber;
+ }
+
+ /**
+ * Sets the value of the sequenceNumber property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setSequenceNumber(BigInteger value) {
+ this.sequenceNumber = value;
+ }
+
+ /**
+ * Gets the value of the planID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPlanID() {
+ return planID;
+ }
+
+ /**
+ * Sets the value of the planID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPlanID(String value) {
+ this.planID = value;
+ }
+
+ /**
+ * Gets the value of the period property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getPeriod() {
+ return period;
+ }
+
+ /**
+ * Sets the value of the period property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setPeriod(BigInteger value) {
+ this.period = value;
+ }
+
+ /**
+ * Gets the value of the periodUnit property.
+ *
+ * @return possible object is {@link PeriodUnitType }
+ */
+ public PeriodUnitType getPeriodUnit() {
+ return periodUnit;
+ }
+
+ /**
+ * Sets the value of the periodUnit property.
+ *
+ * @param value allowed object is {@link PeriodUnitType }
+ */
+ public void setPeriodUnit(PeriodUnitType value) {
+ this.periodUnit = value;
+ }
+
+ /**
+ * Gets the value of the firstPaymentDate property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getFirstPaymentDate() {
+ return firstPaymentDate;
+ }
+
+ /**
+ * Sets the value of the firstPaymentDate property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setFirstPaymentDate(String value) {
+ this.firstPaymentDate = value;
+ }
+
+ /**
+ * Gets the value of the totalNbOfPayments property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getTotalNbOfPayments() {
+ return totalNbOfPayments;
+ }
+
+ /**
+ * Sets the value of the totalNbOfPayments property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setTotalNbOfPayments(BigInteger value) {
+ this.totalNbOfPayments = value;
+ }
+
+ /**
+ * Gets the value of the cumulativeAmount property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getCumulativeAmount() {
+ return cumulativeAmount;
+ }
+
+ /**
+ * Sets the value of the cumulativeAmount property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setCumulativeAmount(BigDecimal value) {
+ this.cumulativeAmount = value;
+ }
+
+ /**
+ * Gets the value of the firstAmount property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getFirstAmount() {
+ return firstAmount;
+ }
+
+ /**
+ * Sets the value of the firstAmount property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setFirstAmount(BigDecimal value) {
+ this.firstAmount = value;
+ }
+
+ /**
+ * Gets the value of the charges property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getCharges() {
+ return charges;
+ }
+
+ /**
+ * Sets the value of the charges property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setCharges(BigDecimal value) {
+ this.charges = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/InstalmentType.java b/src/main/java/com/adyen/model/nexo/InstalmentType.java
new file mode 100644
index 000000000..8915efe87
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/InstalmentType.java
@@ -0,0 +1,78 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for InstalmentType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="InstalmentType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="DeferredInstalments"/>
+ * <enumeration value="EqualInstalments"/>
+ * <enumeration value="InequalInstalments"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "InstalmentType")
+@XmlEnum
+public enum InstalmentType {
+
+
+ /**
+ * The payment of the service or goods is deferred.
+ */
+ @XmlEnumValue("DeferredInstalments")
+ @Schema(description = "The payment of the service or goods is deferred.")
+ DEFERRED_INSTALMENTS("DeferredInstalments"),
+
+ /**
+ * The payment is split in several instalments of equal amounts.
+ */
+ @XmlEnumValue("EqualInstalments")
+ @Schema(description = "The payment is split in several instalments of equal amounts.")
+ EQUAL_INSTALMENTS("EqualInstalments"),
+
+ /**
+ * The payment is split in several instalments of different amounts.
+ */
+ @XmlEnumValue("InequalInstalments")
+ @Schema(description = "The payment is split in several instalments of different amounts.")
+ INEQUAL_INSTALMENTS("InequalInstalments");
+ private final String value;
+
+ InstalmentType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value instalment type.
+ *
+ * @param v the v
+ * @return the instalment type
+ */
+ public static InstalmentType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/Issuer.java b/src/main/java/com/adyen/model/nexo/Issuer.java
new file mode 100644
index 000000000..59642f3d0
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/Issuer.java
@@ -0,0 +1,71 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Certificate issuer name (see X.501-88) -- Reference: RFC 3880: Internet X.509 Public Key Infrastructure Certificate and Certificate -- Usage: The Issuer field identifies the entity that has signed and issued the certificate. It contains hierarchical name composed of attributes, such as country, organization, organizational-unit, common name.
+ *
+ * Java class for Issuer complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="Issuer">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="RelativeDistinguishedName" type="{}RelativeDistinguishedName" maxOccurs="unbounded"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Issuer", propOrder = {
+ "relativeDistinguishedName"
+})
+public class Issuer {
+
+ /**
+ * The Relative distinguished name.
+ */
+ @XmlElement(name = "RelativeDistinguishedName", required = true)
+ protected List relativeDistinguishedName;
+
+ /**
+ * Gets the value of the relativeDistinguishedName property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the relativeDistinguishedName property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getRelativeDistinguishedName().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link RelativeDistinguishedName }
+ *
+ * @return the relative distinguished name
+ */
+ public List getRelativeDistinguishedName() {
+ if (relativeDistinguishedName == null) {
+ relativeDistinguishedName = new ArrayList<>();
+ }
+ return this.relativeDistinguishedName;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/IssuerAndSerialNumber.java b/src/main/java/com/adyen/model/nexo/IssuerAndSerialNumber.java
new file mode 100644
index 000000000..6524306eb
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/IssuerAndSerialNumber.java
@@ -0,0 +1,84 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigInteger;
+
+
+/**
+ * Definition: Cryptographic Message Syntax (CMS) data structure containing the issuer name and certificate serial number -- Reference: RFC 3852: Cryptographic Message Syntax (CMS) -- Usage: This data structure contains: the issuer name (see X.501-88) the certificate serial number (see X.509-97) This the value of input parameter sid.
+ *
+ * Java class for IssuerAndSerialNumber complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="IssuerAndSerialNumber">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Issuer" type="{}Issuer"/>
+ * <element name="SerialNumber" type="{}SerialNumber"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "IssuerAndSerialNumber", propOrder = {
+ "issuer",
+ "serialNumber"
+})
+public class IssuerAndSerialNumber {
+
+ /**
+ * The Issuer.
+ */
+ @XmlElement(name = "Issuer", required = true)
+ protected Issuer issuer;
+ /**
+ * The Serial number.
+ */
+ @XmlElement(name = "SerialNumber", required = true)
+ protected BigInteger serialNumber;
+
+ /**
+ * Gets the value of the issuer property.
+ *
+ * @return possible object is {@link Issuer }
+ */
+ public Issuer getIssuer() {
+ return issuer;
+ }
+
+ /**
+ * Sets the value of the issuer property.
+ *
+ * @param value allowed object is {@link Issuer }
+ */
+ public void setIssuer(Issuer value) {
+ this.issuer = value;
+ }
+
+ /**
+ * Gets the value of the serialNumber property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getSerialNumber() {
+ return serialNumber;
+ }
+
+ /**
+ * Sets the value of the serialNumber property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setSerialNumber(BigInteger value) {
+ this.serialNumber = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/KEK.java b/src/main/java/com/adyen/model/nexo/KEK.java
new file mode 100644
index 000000000..c9e5c16be
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/KEK.java
@@ -0,0 +1,135 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Encryption key using previously distributed symmetric key -- Reference: RFC 3852: Cryptographic Message Syntax (CMS) -- Usage: This data structure contains: the version of the data structure (v4) the key identifier the key encryption algorithm the encrypted key
+ *
+ * Java class for KEK complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="KEK">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="KEKIdentifier" type="{}KEKIdentifier"/>
+ * <element name="KeyEncryptionAlgorithm" type="{}AlgorithmIdentifier"/>
+ * </sequence>
+ * <attribute name="Version" type="{}VersionType" default="v4" />
+ * <attribute name="EncryptedKey" use="required" type="{}EncryptedKey" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "KEK", propOrder = {
+ "kekIdentifier",
+ "keyEncryptionAlgorithm"
+})
+public class KEK {
+
+ /**
+ * The Kek identifier.
+ */
+ @XmlElement(name = "KEKIdentifier", required = true)
+ protected KEKIdentifier kekIdentifier;
+ /**
+ * The Key encryption algorithm.
+ */
+ @XmlElement(name = "KeyEncryptionAlgorithm", required = true)
+ protected AlgorithmIdentifier keyEncryptionAlgorithm;
+ /**
+ * The Version.
+ */
+ @XmlElement(name = "Version")
+ protected VersionType version;
+ /**
+ * The Encrypted key.
+ */
+ @XmlElement(name = "EncryptedKey", required = true)
+ protected byte[] encryptedKey;
+
+ /**
+ * Gets the value of the kekIdentifier property.
+ *
+ * @return possible object is {@link KEKIdentifier }
+ */
+ public KEKIdentifier getKEKIdentifier() {
+ return kekIdentifier;
+ }
+
+ /**
+ * Sets the value of the kekIdentifier property.
+ *
+ * @param value allowed object is {@link KEKIdentifier }
+ */
+ public void setKEKIdentifier(KEKIdentifier value) {
+ this.kekIdentifier = value;
+ }
+
+ /**
+ * Gets the value of the keyEncryptionAlgorithm property.
+ *
+ * @return possible object is {@link AlgorithmIdentifier }
+ */
+ public AlgorithmIdentifier getKeyEncryptionAlgorithm() {
+ return keyEncryptionAlgorithm;
+ }
+
+ /**
+ * Sets the value of the keyEncryptionAlgorithm property.
+ *
+ * @param value allowed object is {@link AlgorithmIdentifier }
+ */
+ public void setKeyEncryptionAlgorithm(AlgorithmIdentifier value) {
+ this.keyEncryptionAlgorithm = value;
+ }
+
+ /**
+ * Gets the value of the version property.
+ *
+ * @return possible object is {@link VersionType }
+ */
+ public VersionType getVersion() {
+ if (version == null) {
+ return VersionType.V_4;
+ } else {
+ return version;
+ }
+ }
+
+ /**
+ * Sets the value of the version property.
+ *
+ * @param value allowed object is {@link VersionType }
+ */
+ public void setVersion(VersionType value) {
+ this.version = value;
+ }
+
+ /**
+ * Gets the value of the encryptedKey property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getEncryptedKey() {
+ return encryptedKey;
+ }
+
+ /**
+ * Sets the value of the encryptedKey property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setEncryptedKey(byte[] value) {
+ this.encryptedKey = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/KEKIdentifier.java b/src/main/java/com/adyen/model/nexo/KEKIdentifier.java
new file mode 100644
index 000000000..f2e4cb778
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/KEKIdentifier.java
@@ -0,0 +1,102 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Identification of a key encryption key (key management using previously distributed symmetric key) -- Reference: RFC 3852: Cryptographic Message Syntax (CMS) -- Usage: This data structure contains: the identification of the key the date of the key
+ *
+ * Java class for KEKIdentifier complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="KEKIdentifier">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="KeyIdentifier" use="required" type="{}KeyIdentifier" />
+ * <attribute name="KeyVersion" use="required" type="{}KeyVersion" />
+ * <attribute name="DerivationIdentifier" type="{}DerivationIdentifier" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "KEKIdentifier")
+public class KEKIdentifier {
+
+ /**
+ * The Key identifier.
+ */
+ @XmlElement(name = "KeyIdentifier", required = true)
+ protected String keyIdentifier;
+ /**
+ * The Key version.
+ */
+ @XmlElement(name = "KeyVersion", required = true)
+ protected String keyVersion;
+ /**
+ * The Derivation identifier.
+ */
+ @XmlElement(name = "DerivationIdentifier")
+ protected byte[] derivationIdentifier;
+
+ /**
+ * Gets the value of the keyIdentifier property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getKeyIdentifier() {
+ return keyIdentifier;
+ }
+
+ /**
+ * Sets the value of the keyIdentifier property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setKeyIdentifier(String value) {
+ this.keyIdentifier = value;
+ }
+
+ /**
+ * Gets the value of the keyVersion property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getKeyVersion() {
+ return keyVersion;
+ }
+
+ /**
+ * Sets the value of the keyVersion property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setKeyVersion(String value) {
+ this.keyVersion = value;
+ }
+
+ /**
+ * Gets the value of the derivationIdentifier property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getDerivationIdentifier() {
+ return derivationIdentifier;
+ }
+
+ /**
+ * Sets the value of the derivationIdentifier property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setDerivationIdentifier(byte[] value) {
+ this.derivationIdentifier = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/KeyTransport.java b/src/main/java/com/adyen/model/nexo/KeyTransport.java
new file mode 100644
index 000000000..45cf19bac
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/KeyTransport.java
@@ -0,0 +1,135 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Encryption key using previously distributed asymmetric key -- Reference: RFC 3852: Cryptographic Message Syntax (CMS) -- Usage: This data structure contains: the version of the data structure (v0) the recipient identifier the key encryption algorithm the encrypted key
+ *
+ * Java class for KeyTransport complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="KeyTransport">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="RecipientIdentifier" type="{}RecipientIdentifier"/>
+ * <element name="KeyEncryptionAlgorithm" type="{}AlgorithmIdentifier"/>
+ * </sequence>
+ * <attribute name="Version" type="{}VersionType" default="v0" />
+ * <attribute name="EncryptedKey" use="required" type="{}EncryptedKey" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "KeyTransport", propOrder = {
+ "recipientIdentifier",
+ "keyEncryptionAlgorithm"
+})
+public class KeyTransport {
+
+ /**
+ * The Recipient identifier.
+ */
+ @XmlElement(name = "RecipientIdentifier", required = true)
+ protected RecipientIdentifier recipientIdentifier;
+ /**
+ * The Key encryption algorithm.
+ */
+ @XmlElement(name = "KeyEncryptionAlgorithm", required = true)
+ protected AlgorithmIdentifier keyEncryptionAlgorithm;
+ /**
+ * The Version.
+ */
+ @XmlElement(name = "Version")
+ protected VersionType version;
+ /**
+ * The Encrypted key.
+ */
+ @XmlElement(name = "EncryptedKey", required = true)
+ protected byte[] encryptedKey;
+
+ /**
+ * Gets the value of the recipientIdentifier property.
+ *
+ * @return possible object is {@link RecipientIdentifier }
+ */
+ public RecipientIdentifier getRecipientIdentifier() {
+ return recipientIdentifier;
+ }
+
+ /**
+ * Sets the value of the recipientIdentifier property.
+ *
+ * @param value allowed object is {@link RecipientIdentifier }
+ */
+ public void setRecipientIdentifier(RecipientIdentifier value) {
+ this.recipientIdentifier = value;
+ }
+
+ /**
+ * Gets the value of the keyEncryptionAlgorithm property.
+ *
+ * @return possible object is {@link AlgorithmIdentifier }
+ */
+ public AlgorithmIdentifier getKeyEncryptionAlgorithm() {
+ return keyEncryptionAlgorithm;
+ }
+
+ /**
+ * Sets the value of the keyEncryptionAlgorithm property.
+ *
+ * @param value allowed object is {@link AlgorithmIdentifier }
+ */
+ public void setKeyEncryptionAlgorithm(AlgorithmIdentifier value) {
+ this.keyEncryptionAlgorithm = value;
+ }
+
+ /**
+ * Gets the value of the version property.
+ *
+ * @return possible object is {@link VersionType }
+ */
+ public VersionType getVersion() {
+ if (version == null) {
+ return VersionType.V_0;
+ } else {
+ return version;
+ }
+ }
+
+ /**
+ * Sets the value of the version property.
+ *
+ * @param value allowed object is {@link VersionType }
+ */
+ public void setVersion(VersionType value) {
+ this.version = value;
+ }
+
+ /**
+ * Gets the value of the encryptedKey property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getEncryptedKey() {
+ return encryptedKey;
+ }
+
+ /**
+ * Sets the value of the encryptedKey property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setEncryptedKey(byte[] value) {
+ this.encryptedKey = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LoginRequest.java b/src/main/java/com/adyen/model/nexo/LoginRequest.java
new file mode 100644
index 000000000..e3fe5757e
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LoginRequest.java
@@ -0,0 +1,308 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Login Request messageType. -- Usage: It conveys Information related to the session (period between a Login and the following Logout) to process
+ *
+ * Java class for LoginRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="LoginRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DateTime" type="{}DateTime"/>
+ * <element name="SaleSoftware" type="{}SaleSoftware"/>
+ * <element name="SaleTerminalData" type="{}SaleTerminalData" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="TrainingModeFlag" type="{}TrainingModeFlag" default="false" />
+ * <attribute name="OperatorLanguage" use="required" type="{}ISOLanguage2A" />
+ * <attribute name="OperatorID" type="{}OperatorID" />
+ * <attribute name="ShiftNumber" type="{}ShiftNumber" />
+ * <attribute name="TokenRequested" type="{}TokenRequestedType" />
+ * <attribute name="CustomerOrderReq" type="{}CustomerOrderReq" />
+ * <attribute name="POISerialNumber" type="{}POISerialNumber" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LoginRequest", propOrder = {
+ "dateTime",
+ "saleSoftware",
+ "saleTerminalData"
+})
+public class LoginRequest {
+
+ /**
+ * The Date time.
+ */
+ @XmlElement(name = "DateTime", required = true)
+ @Schema(description = "Date and Time")
+ @XmlSchemaType(name = "dateTime")
+ protected XMLGregorianCalendar dateTime;
+ /**
+ * The Sale software.
+ */
+ @XmlElement(name = "SaleSoftware", required = true)
+ @Schema(description = "Information related to the software of the Sale System which manages the Sale to POI protocol.")
+ protected SaleSoftware saleSoftware;
+ /**
+ * The Sale terminal data.
+ */
+ @XmlElement(name = "SaleTerminalData")
+ @Schema(description = "Information related to the software and hardware feature of the Sale Terminal. --Rule: Present if the login involve a Sale Terminal")
+ protected SaleTerminalData saleTerminalData;
+ /**
+ * The Training mode flag.
+ */
+ @XmlElement(name = "TrainingModeFlag")
+ @Schema(description = "Training mode --Rule: The POI does not realise the transaction with the Acquirer")
+ protected Boolean trainingModeFlag;
+ /**
+ * The Operator language.
+ */
+ @XmlElement(name = "OperatorLanguage", required = true)
+ @Schema(description = "Language of the Cashier or Operator. --Rule: Default value for Device type displays")
+ protected String operatorLanguage;
+ /**
+ * The Operator id.
+ */
+ @XmlElement(name = "OperatorID")
+ @Schema(description = "Identification of the Cashier or Operator. --Rule: 4 conditions to send it: a) the Sale System wants the POI log it in the transaction log b) because of reconciliation")
+ protected String operatorID;
+ /**
+ * The Shift number.
+ */
+ @XmlElement(name = "ShiftNumber")
+ @Schema(description = "Shift number. --Rule: Same as OperatorID")
+ protected String shiftNumber;
+ /**
+ * The Token requested.
+ */
+ @XmlElement(name = "TokenRequestedType")
+ @Schema(description = "Type of token replacing the PAN of a payment card to identify the payment mean of the customer. --Rule: If a token is requested during the the session.")
+ protected TokenRequestedType tokenRequestedType;
+ /**
+ * The Customer order req.
+ */
+ @XmlElement(name = "CustomerOrderReq")
+ @Schema(description = "List of customer orders must be sent in response message. --Rule: If customer orders must be listed in Card Acquisition and Payment response messages during the session.")
+ protected List customerOrderReq;
+ /**
+ * The Poi serial number.
+ */
+ @XmlElement(name = "POISerialNumber")
+ @Schema(description = "Serial number of a POI Terminal --Rule: If the login involve a POI Terminal and not the first Login to the POI System")
+ protected String poiSerialNumber;
+
+ /**
+ * Gets the value of the dateTime property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ */
+ public XMLGregorianCalendar getDateTime() {
+ return dateTime;
+ }
+
+ /**
+ * Sets the value of the dateTime property.
+ *
+ * @param value allowed object is {@link XMLGregorianCalendar }
+ */
+ public void setDateTime(XMLGregorianCalendar value) {
+ this.dateTime = value;
+ }
+
+ /**
+ * Gets the value of the saleSoftware property.
+ *
+ * @return possible object is {@link SaleSoftware }
+ */
+ public SaleSoftware getSaleSoftware() {
+ return saleSoftware;
+ }
+
+ /**
+ * Sets the value of the saleSoftware property.
+ *
+ * @param value allowed object is {@link SaleSoftware }
+ */
+ public void setSaleSoftware(SaleSoftware value) {
+ this.saleSoftware = value;
+ }
+
+ /**
+ * Gets the value of the saleTerminalData property.
+ *
+ * @return possible object is {@link SaleTerminalData }
+ */
+ public SaleTerminalData getSaleTerminalData() {
+ return saleTerminalData;
+ }
+
+ /**
+ * Sets the value of the saleTerminalData property.
+ *
+ * @param value allowed object is {@link SaleTerminalData }
+ */
+ public void setSaleTerminalData(SaleTerminalData value) {
+ this.saleTerminalData = value;
+ }
+
+ /**
+ * Gets the value of the trainingModeFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isTrainingModeFlag() {
+ if (trainingModeFlag == null) {
+ return false;
+ } else {
+ return trainingModeFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the trainingModeFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setTrainingModeFlag(Boolean value) {
+ this.trainingModeFlag = value;
+ }
+
+ /**
+ * Gets the value of the operatorLanguage property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getOperatorLanguage() {
+ return operatorLanguage;
+ }
+
+ /**
+ * Sets the value of the operatorLanguage property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setOperatorLanguage(String value) {
+ this.operatorLanguage = value;
+ }
+
+ /**
+ * Gets the value of the operatorID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getOperatorID() {
+ return operatorID;
+ }
+
+ /**
+ * Sets the value of the operatorID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setOperatorID(String value) {
+ this.operatorID = value;
+ }
+
+ /**
+ * Gets the value of the shiftNumber property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getShiftNumber() {
+ return shiftNumber;
+ }
+
+ /**
+ * Sets the value of the shiftNumber property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setShiftNumber(String value) {
+ this.shiftNumber = value;
+ }
+
+ /**
+ * Gets the value of the tokenRequestedType property.
+ *
+ * @return possible object is {@link TokenRequestedType }
+ */
+ public TokenRequestedType getTokenRequestedType() {
+ return tokenRequestedType;
+ }
+
+ /**
+ * Sets the value of the tokenRequestedType property.
+ *
+ * @param value allowed object is {@link TokenRequestedType }
+ */
+ public void setTokenRequestedType(TokenRequestedType value) {
+ this.tokenRequestedType = value;
+ }
+
+ /**
+ * Gets the value of the customerOrderReq property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the customerOrderReq property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getCustomerOrderReq().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link CustomerOrderReqType }
+ *
+ * @return the customer order req
+ */
+ public List getCustomerOrderReq() {
+ if (customerOrderReq == null) {
+ customerOrderReq = new ArrayList<>();
+ }
+ return this.customerOrderReq;
+ }
+
+ /**
+ * Gets the value of the poiSerialNumber property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPOISerialNumber() {
+ return poiSerialNumber;
+ }
+
+ /**
+ * Sets the value of the poiSerialNumber property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPOISerialNumber(String value) {
+ this.poiSerialNumber = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LoginResponse.java b/src/main/java/com/adyen/model/nexo/LoginResponse.java
new file mode 100644
index 000000000..6b6b8d219
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LoginResponse.java
@@ -0,0 +1,87 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the Login Response messageType. -- Usage: It conveys Information related to the Login to process
+ *
+ * Java class for LoginResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="LoginResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * <element name="POISystemData" type="{}POISystemData" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LoginResponse", propOrder = {
+ "response",
+ "poiSystemData"
+})
+public class LoginResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Poi system data.
+ */
+ @XmlElement(name = "POISystemData")
+ @Schema(description = "Information related to the POI System --Rule: if Response.Result is Success")
+ protected POISystemData poiSystemData;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the poiSystemData property.
+ *
+ * @return possible object is {@link POISystemData }
+ */
+ public POISystemData getPOISystemData() {
+ return poiSystemData;
+ }
+
+ /**
+ * Sets the value of the poiSystemData property.
+ *
+ * @param value allowed object is {@link POISystemData }
+ */
+ public void setPOISystemData(POISystemData value) {
+ this.poiSystemData = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LogoutRequest.java b/src/main/java/com/adyen/model/nexo/LogoutRequest.java
new file mode 100644
index 000000000..a0327b9eb
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LogoutRequest.java
@@ -0,0 +1,61 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the Logout Request messageType. -- Usage: Empty
+ *
+ * Java class for LogoutRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="LogoutRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="MaintenanceAllowed" type="{}MaintenanceAllowed" default="false" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LogoutRequest")
+public class LogoutRequest {
+
+ /**
+ * The Maintenance allowed.
+ */
+ @XmlElement(name = "MaintenanceAllowed")
+ @Schema(description = "Indicates that the POI terminal is able to (or have to) go to maintenance.")
+ protected Boolean maintenanceAllowed;
+
+ /**
+ * Gets the value of the maintenanceAllowed property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isMaintenanceAllowed() {
+ if (maintenanceAllowed == null) {
+ return false;
+ } else {
+ return maintenanceAllowed;
+ }
+ }
+
+ /**
+ * Sets the value of the maintenanceAllowed property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setMaintenanceAllowed(Boolean value) {
+ this.maintenanceAllowed = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LogoutResponse.java b/src/main/java/com/adyen/model/nexo/LogoutResponse.java
new file mode 100644
index 000000000..39c4e3312
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LogoutResponse.java
@@ -0,0 +1,61 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the Logout Response messageType. -- Usage: It conveys the result of the Logout.
+ *
+ * Java class for LogoutResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="LogoutResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LogoutResponse", propOrder = {
+ "response"
+})
+public class LogoutResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LoyaltyAccount.java b/src/main/java/com/adyen/model/nexo/LoyaltyAccount.java
new file mode 100644
index 000000000..60ad894aa
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LoyaltyAccount.java
@@ -0,0 +1,86 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Data related to a loyalty account processed in the transaction. -- Usage: This data structure conveys the identification of the account and the associated loyalty brand.
+ *
+ * Java class for LoyaltyAccount complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="LoyaltyAccount">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="LoyaltyAccountID" type="{}LoyaltyAccountID"/>
+ * </sequence>
+ * <attribute name="LoyaltyBrand" type="{}LoyaltyBrand" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LoyaltyAccount", propOrder = {
+ "loyaltyAccountID"
+})
+public class LoyaltyAccount {
+
+ /**
+ * The Loyalty account id.
+ */
+ @XmlElement(name = "LoyaltyAccountID", required = true)
+ @Schema(description = "Identification of a Loyalty account.")
+ protected LoyaltyAccountID loyaltyAccountID;
+ /**
+ * The Loyalty brand.
+ */
+ @XmlElement(name = "LoyaltyBrand")
+ @Schema(description = "Identification of a Loyalty brand. --Rule: If a card is analysed")
+ protected String loyaltyBrand;
+
+ /**
+ * Gets the value of the loyaltyAccountID property.
+ *
+ * @return possible object is {@link LoyaltyAccountID }
+ */
+ public LoyaltyAccountID getLoyaltyAccountID() {
+ return loyaltyAccountID;
+ }
+
+ /**
+ * Sets the value of the loyaltyAccountID property.
+ *
+ * @param value allowed object is {@link LoyaltyAccountID }
+ */
+ public void setLoyaltyAccountID(LoyaltyAccountID value) {
+ this.loyaltyAccountID = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyBrand property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getLoyaltyBrand() {
+ return loyaltyBrand;
+ }
+
+ /**
+ * Sets the value of the loyaltyBrand property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setLoyaltyBrand(String value) {
+ this.loyaltyBrand = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LoyaltyAccountID.java b/src/main/java/com/adyen/model/nexo/LoyaltyAccountID.java
new file mode 100644
index 000000000..9623a4319
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LoyaltyAccountID.java
@@ -0,0 +1,138 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Identification of a Loyalty account. -- Usage: 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). In
+ *
+ * Java class for LoyaltyAccountID complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="LoyaltyAccountID">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="LoyaltyID" use="required" type="{}LoyaltyID" />
+ * <attribute name="EntryMode" use="required" type="{}EntryMode" />
+ * <attribute name="IdentificationType" use="required" type="{}IdentificationType" />
+ * <attribute name="IdentificationSupport" type="{}IdentificationSupportType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LoyaltyAccountID")
+public class LoyaltyAccountID {
+
+ @XmlElement(name = "LoyaltyID", required = true)
+ @Schema(description = "Loyalty account identification")
+ protected String loyaltyID;
+ @XmlElement(name = "EntryMode", required = true)
+ @Schema(description = "Entry mode of the payment instrument information")
+ protected List entryMode;
+ @XmlElement(name = "IdentificationType", required = true)
+ @Schema(description = "Type of account identification")
+ protected IdentificationType identificationType;
+
+ @XmlElement(name = "IdentificationSupport")
+ @Schema(description = "Support of the loyalty account identification --Rule: if PaymentResponse or LoyaltyResponse or BalanceInquiryResponse")
+ protected IdentificationSupportType identificationSupport;
+
+ /**
+ * Gets the value of the loyaltyID property.
+ *
+ * @return possible object is
+ * {@link String }
+ */
+ public String getLoyaltyID() {
+ return loyaltyID;
+ }
+
+ /**
+ * Sets the value of the loyaltyID property.
+ *
+ * @param value allowed object is
+ * {@link String }
+ */
+ public void setLoyaltyID(String value) {
+ this.loyaltyID = value;
+ }
+
+ /**
+ * Gets the value of the entryMode property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the entryMode property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getEntryMode().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link EntryModeType }
+ */
+ public List getEntryMode() {
+ if (entryMode == null) {
+ entryMode = new ArrayList<>();
+ }
+ return this.entryMode;
+ }
+
+ /**
+ * Gets the value of the identificationType property.
+ *
+ * @return possible object is
+ * {@link IdentificationType }
+ */
+ public IdentificationType getIdentificationType() {
+ return identificationType;
+ }
+
+ /**
+ * Sets the value of the identificationType property.
+ *
+ * @param value allowed object is
+ * {@link IdentificationType }
+ */
+ public void setIdentificationType(IdentificationType value) {
+ this.identificationType = value;
+ }
+
+ /**
+ * Gets the value of the identificationSupport property.
+ *
+ * @return possible object is
+ * {@link IdentificationSupportType }
+ */
+ public IdentificationSupportType getIdentificationSupport() {
+ return identificationSupport;
+ }
+
+ /**
+ * Sets the value of the identificationSupport property.
+ *
+ * @param value allowed object is
+ * {@link IdentificationSupportType }
+ */
+ public void setIdentificationSupport(IdentificationSupportType value) {
+ this.identificationSupport = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LoyaltyAccountReq.java b/src/main/java/com/adyen/model/nexo/LoyaltyAccountReq.java
new file mode 100644
index 000000000..26c9014d2
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LoyaltyAccountReq.java
@@ -0,0 +1,87 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Data related to a requested Loyalty program or account. -- Usage: In the Balance Inquiry Request messageType, the Sale Terminal sends the identification of the loyalty account to request the balance.
+ *
+ * Java class for LoyaltyAccountReq complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="LoyaltyAccountReq">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="CardAcquisitionReference" type="{}TransactionIdentification" minOccurs="0"/>
+ * <element name="LoyaltyAccountID" type="{}LoyaltyAccountID" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LoyaltyAccountReq", propOrder = {
+ "cardAcquisitionReference",
+ "loyaltyAccountID"
+})
+public class LoyaltyAccountReq {
+
+ /**
+ * The Card acquisition reference.
+ */
+ @XmlElement(name = "CardAcquisitionReference")
+ @Schema(description = "Reference to the last CardAcquisition, to use the same card. --Rule: If the loyalty account ID comes from a previous CardAcquisition")
+ protected TransactionIdentification cardAcquisitionReference;
+ /**
+ * The Loyalty account id.
+ */
+ @XmlElement(name = "LoyaltyAccountID")
+ @Schema(description = "Identification of a Loyalty account. --Rule: If loyalty identification of the loyalty account is realised by the Sale System")
+ protected LoyaltyAccountID loyaltyAccountID;
+
+ /**
+ * Gets the value of the cardAcquisitionReference property.
+ *
+ * @return possible object is {@link TransactionIdentification }
+ */
+ public TransactionIdentification getCardAcquisitionReference() {
+ return cardAcquisitionReference;
+ }
+
+ /**
+ * Sets the value of the cardAcquisitionReference property.
+ *
+ * @param value allowed object is {@link TransactionIdentification }
+ */
+ public void setCardAcquisitionReference(TransactionIdentification value) {
+ this.cardAcquisitionReference = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyAccountID property.
+ *
+ * @return possible object is {@link LoyaltyAccountID }
+ */
+ public LoyaltyAccountID getLoyaltyAccountID() {
+ return loyaltyAccountID;
+ }
+
+ /**
+ * Sets the value of the loyaltyAccountID property.
+ *
+ * @param value allowed object is {@link LoyaltyAccountID }
+ */
+ public void setLoyaltyAccountID(LoyaltyAccountID value) {
+ this.loyaltyAccountID = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LoyaltyAccountStatus.java b/src/main/java/com/adyen/model/nexo/LoyaltyAccountStatus.java
new file mode 100644
index 000000000..b0faa6789
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LoyaltyAccountStatus.java
@@ -0,0 +1,141 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+
+
+/**
+ * Definition: Data related to the result of a loyalty Balance Inquiry. -- Usage: In the Message Response, the result of each loyalty brand transaction.
+ *
+ * Java class for LoyaltyAccountStatus complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="LoyaltyAccountStatus">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="LoyaltyAccount" type="{}LoyaltyAccount"/>
+ * </sequence>
+ * <attribute name="CurrentBalance" type="{}SimpleAmountType" />
+ * <attribute name="LoyaltyUnit" type="{}LoyaltyUnitType" default="Point" />
+ * <attribute name="Currency" type="{}ISOCurrency3A" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LoyaltyAccountStatus", propOrder = {
+ "loyaltyAccount"
+})
+public class LoyaltyAccountStatus {
+
+ /**
+ * The Loyalty account.
+ */
+ @XmlElement(name = "LoyaltyAccount", required = true)
+ @Schema(description = "Data related to a loyalty account processed in the transaction.")
+ protected LoyaltyAccount loyaltyAccount;
+ /**
+ * The Current balance.
+ */
+ @XmlElement(name = "CurrentBalance")
+ @Schema(description = "Balance of an account. --Rule: if known (provided by the card or an external host)")
+ protected BigDecimal currentBalance;
+ /**
+ * The Loyalty unit.
+ */
+ @XmlElement(name = "LoyaltyUnit")
+ @Schema(description = "Unit of a loyalty amount.")
+ protected LoyaltyUnitType loyaltyUnit;
+ /**
+ * The Currency.
+ */
+ @XmlElement(name = "Currency")
+ @Schema(description = "Currency of a monetary amount. --Rule: If Result is Success and If LoyaltyUnit is \"Monetary\"")
+ protected String currency;
+
+ /**
+ * Gets the value of the loyaltyAccount property.
+ *
+ * @return possible object is {@link LoyaltyAccount }
+ */
+ public LoyaltyAccount getLoyaltyAccount() {
+ return loyaltyAccount;
+ }
+
+ /**
+ * Sets the value of the loyaltyAccount property.
+ *
+ * @param value allowed object is {@link LoyaltyAccount }
+ */
+ public void setLoyaltyAccount(LoyaltyAccount value) {
+ this.loyaltyAccount = value;
+ }
+
+ /**
+ * Gets the value of the currentBalance property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getCurrentBalance() {
+ return currentBalance;
+ }
+
+ /**
+ * Sets the value of the currentBalance property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setCurrentBalance(BigDecimal value) {
+ this.currentBalance = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyUnit property.
+ *
+ * @return possible object is {@link LoyaltyUnitType }
+ */
+ public LoyaltyUnitType getLoyaltyUnit() {
+ if (loyaltyUnit == null) {
+ return LoyaltyUnitType.POINT;
+ } else {
+ return loyaltyUnit;
+ }
+ }
+
+ /**
+ * Sets the value of the loyaltyUnit property.
+ *
+ * @param value allowed object is {@link LoyaltyUnitType }
+ */
+ public void setLoyaltyUnit(LoyaltyUnitType value) {
+ this.loyaltyUnit = value;
+ }
+
+ /**
+ * Gets the value of the currency property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCurrency() {
+ return currency;
+ }
+
+ /**
+ * Sets the value of the currency property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCurrency(String value) {
+ this.currency = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LoyaltyAcquirerData.java b/src/main/java/com/adyen/model/nexo/LoyaltyAcquirerData.java
new file mode 100644
index 000000000..3f264fb63
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LoyaltyAcquirerData.java
@@ -0,0 +1,137 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Data related to the loyalty Acquirer during a loyalty transaction. -- Usage: Information allowing the Sale System to characterise the transaction on the loyalty Acquirer host.
+ *
+ * Java class for LoyaltyAcquirerData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="LoyaltyAcquirerData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="ApprovalCode" type="{}ApprovalCode" minOccurs="0"/>
+ * <element name="LoyaltyTransactionID" type="{}TransactionIdentification" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="LoyaltyAcquirerID" type="{}LoyaltyAcquirerID" />
+ * <attribute name="HostReconciliationID" type="{}HostReconciliationID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LoyaltyAcquirerData", propOrder = {
+ "approvalCode",
+ "loyaltyTransactionID"
+})
+public class LoyaltyAcquirerData {
+
+ /**
+ * The Approval code.
+ */
+ @XmlElement(name = "ApprovalCode")
+ @Schema(description = "Code assigned to a transaction approval by the Acquirer. --Rule: If provided by the Acquirer")
+ protected String approvalCode;
+ /**
+ * The Loyalty transaction id.
+ */
+ @XmlElement(name = "LoyaltyTransactionID")
+ @Schema(description = "Identification of the Transaction for the Loyalty Acquirer. --Rule: If provided by the Acquirer")
+ protected TransactionIdentification loyaltyTransactionID;
+ /**
+ * The Loyalty acquirer id.
+ */
+ @XmlElement(name = "LoyaltyAcquirerID")
+ @Schema(description = "Identification of the loyalty Acquirer. --Rule: If available")
+ protected String loyaltyAcquirerID;
+ /**
+ * The Host reconciliation id.
+ */
+ @XmlElement(name = "HostReconciliationID")
+ @Schema(description = "Identifier of a reconciliation period with a payment or loyalty host. --Rule: If provided by the Acquirer")
+ protected String hostReconciliationID;
+
+ /**
+ * Gets the value of the approvalCode property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getApprovalCode() {
+ return approvalCode;
+ }
+
+ /**
+ * Sets the value of the approvalCode property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setApprovalCode(String value) {
+ this.approvalCode = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyTransactionID property.
+ *
+ * @return possible object is {@link TransactionIdentification }
+ */
+ public TransactionIdentification getLoyaltyTransactionID() {
+ return loyaltyTransactionID;
+ }
+
+ /**
+ * Sets the value of the loyaltyTransactionID property.
+ *
+ * @param value allowed object is {@link TransactionIdentification }
+ */
+ public void setLoyaltyTransactionID(TransactionIdentification value) {
+ this.loyaltyTransactionID = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyAcquirerID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getLoyaltyAcquirerID() {
+ return loyaltyAcquirerID;
+ }
+
+ /**
+ * Sets the value of the loyaltyAcquirerID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setLoyaltyAcquirerID(String value) {
+ this.loyaltyAcquirerID = value;
+ }
+
+ /**
+ * Gets the value of the hostReconciliationID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getHostReconciliationID() {
+ return hostReconciliationID;
+ }
+
+ /**
+ * Sets the value of the hostReconciliationID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setHostReconciliationID(String value) {
+ this.hostReconciliationID = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LoyaltyAmount.java b/src/main/java/com/adyen/model/nexo/LoyaltyAmount.java
new file mode 100644
index 000000000..c8574c2db
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LoyaltyAmount.java
@@ -0,0 +1,112 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+import java.math.BigDecimal;
+
+
+/**
+ * Definition: Amount of a loyalty account. -- Usage: An awarded amount or an amount to redeem to the loyalty account might be sent in the Payment request messageType. The amount to apply on the requested loyalty service, if not computed from the TotalAmount of the Loyalty request messageType. The
+ *
+ * Java class for LoyaltyAmount complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="LoyaltyAmount">
+ * <simpleContent>
+ * <extension base="Decimal">
+ * <attribute name="LoyaltyUnit" type="{}LoyaltyUnitType" default="Point" />
+ * <attribute name="Currency" type="{}ISOCurrency3A" />
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LoyaltyAmount", propOrder = {
+ "value"
+})
+public class LoyaltyAmount {
+
+ /**
+ * The Value.
+ */
+ @XmlValue
+ protected BigDecimal value;
+ /**
+ * The Loyalty unit.
+ */
+ @XmlElement(name = "LoyaltyUnit")
+ protected LoyaltyUnitType loyaltyUnit;
+ /**
+ * The Currency.
+ */
+ @XmlElement(name = "Currency")
+ @Schema(description = "Currency of a monetary amount. --Rule: if LoyaltyUnit is Monetary")
+ protected String currency;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setValue(BigDecimal value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyUnit property.
+ *
+ * @return possible object is {@link LoyaltyUnitType }
+ */
+ public LoyaltyUnitType getLoyaltyUnit() {
+ if (loyaltyUnit == null) {
+ return LoyaltyUnitType.POINT;
+ } else {
+ return loyaltyUnit;
+ }
+ }
+
+ /**
+ * Sets the value of the loyaltyUnit property.
+ *
+ * @param value allowed object is {@link LoyaltyUnitType }
+ */
+ public void setLoyaltyUnit(LoyaltyUnitType value) {
+ this.loyaltyUnit = value;
+ }
+
+ /**
+ * Gets the value of the currency property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCurrency() {
+ return currency;
+ }
+
+ /**
+ * Sets the value of the currency property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCurrency(String value) {
+ this.currency = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LoyaltyData.java b/src/main/java/com/adyen/model/nexo/LoyaltyData.java
new file mode 100644
index 000000000..c3fd1149b
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LoyaltyData.java
@@ -0,0 +1,113 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Data related to a Loyalty program or account. -- Usage: In the Payment, Loyalty or Balance Inquiry Request messageType, 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.
+ *
+ * Java class for LoyaltyData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="LoyaltyData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="CardAcquisitionReference" type="{}TransactionIdentification" minOccurs="0"/>
+ * <element name="LoyaltyAccountID" type="{}LoyaltyAccountID" minOccurs="0"/>
+ * <element name="LoyaltyAmount" type="{}LoyaltyAmount" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LoyaltyData", propOrder = {
+ "cardAcquisitionReference",
+ "loyaltyAccountID",
+ "loyaltyAmount"
+})
+public class LoyaltyData {
+
+ /**
+ * The Card acquisition reference.
+ */
+ @XmlElement(name = "CardAcquisitionReference")
+ @Schema(description = "Reference to the last CardAcquisition, to use the same card. --Rule: If the loyalty account ID comes from a previous CardAcquisition")
+ protected TransactionIdentification cardAcquisitionReference;
+ /**
+ * The Loyalty account id.
+ */
+ @XmlElement(name = "LoyaltyAccountID")
+ @Schema(description = "Identification of a Loyalty account. --Rule: If loyalty identification of the loyalty account is realised by the Sale System")
+ protected LoyaltyAccountID loyaltyAccountID;
+ /**
+ * The Loyalty amount.
+ */
+ @XmlElement(name = "LoyaltyAmount")
+ @Schema(description = "Amount of a loyalty account. --Rule: When the Sale System want to award the Loyalty account (not for BalanceInquiryRequest)")
+ protected LoyaltyAmount loyaltyAmount;
+
+ /**
+ * Gets the value of the cardAcquisitionReference property.
+ *
+ * @return possible object is {@link TransactionIdentification }
+ */
+ public TransactionIdentification getCardAcquisitionReference() {
+ return cardAcquisitionReference;
+ }
+
+ /**
+ * Sets the value of the cardAcquisitionReference property.
+ *
+ * @param value allowed object is {@link TransactionIdentification }
+ */
+ public void setCardAcquisitionReference(TransactionIdentification value) {
+ this.cardAcquisitionReference = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyAccountID property.
+ *
+ * @return possible object is {@link LoyaltyAccountID }
+ */
+ public LoyaltyAccountID getLoyaltyAccountID() {
+ return loyaltyAccountID;
+ }
+
+ /**
+ * Sets the value of the loyaltyAccountID property.
+ *
+ * @param value allowed object is {@link LoyaltyAccountID }
+ */
+ public void setLoyaltyAccountID(LoyaltyAccountID value) {
+ this.loyaltyAccountID = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyAmount property.
+ *
+ * @return possible object is {@link LoyaltyAmount }
+ */
+ public LoyaltyAmount getLoyaltyAmount() {
+ return loyaltyAmount;
+ }
+
+ /**
+ * Sets the value of the loyaltyAmount property.
+ *
+ * @param value allowed object is {@link LoyaltyAmount }
+ */
+ public void setLoyaltyAmount(LoyaltyAmount value) {
+ this.loyaltyAmount = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LoyaltyHandlingType.java b/src/main/java/com/adyen/model/nexo/LoyaltyHandlingType.java
new file mode 100644
index 000000000..6a20da69a
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LoyaltyHandlingType.java
@@ -0,0 +1,94 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for LoyaltyHandlingType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="LoyaltyHandlingType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Forbidden"/>
+ * <enumeration value="Processed"/>
+ * <enumeration value="Allowed"/>
+ * <enumeration value="Proposed"/>
+ * <enumeration value="Required"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "LoyaltyHandlingType")
+@XmlEnum
+public enum LoyaltyHandlingType {
+
+
+ /**
+ * No loyalty card to read and loyalty transaction to process. Any attempt to enter a pure loyalty card is rejected.
+ */
+ @XmlEnumValue("Forbidden")
+ @Schema(description = "No loyalty card to read and loyalty transaction to process. Any attempt to enter a pure loyalty card is rejected.")
+ FORBIDDEN("Forbidden"),
+
+ /**
+ * The loyalty transaction is already processed, no loyalty card or loyalty transaction to process.
+ */
+ @XmlEnumValue("Processed")
+ @Schema(description = "The loyalty transaction is already processed, no loyalty card or loyalty transaction to process.")
+ PROCESSED("Processed"),
+
+ /**
+ * The loyalty is accepted, but the POI has not to require or ask a loyalty card. The loyalty is involved by the payment card (e.g. an hybrid or linked card).
+ */
+ @XmlEnumValue("Allowed")
+ @Schema(description = "The loyalty is accepted, but the POI has not to require or ask a loyalty card. The loyalty is involved by the payment card (e.g. an hybrid or linked card).")
+ ALLOWED("Allowed"),
+
+ /**
+ * The loyalty is accepted, and the POI has to ask a loyalty card. If the Customer does not enter a loyalty card, no loyalty transaction is realised.
+ */
+ @XmlEnumValue("Proposed")
+ @Schema(description = "The loyalty is accepted, and the POI has to ask a loyalty card. If the Customer does not enter a loyalty card, no loyalty transaction is realised.")
+ PROPOSED("Proposed"),
+
+ /**
+ * The loyalty is required, and the POI refuses the processing of the messageType request if the cardholder does not entre a loyalty card
+ */
+ @XmlEnumValue("Required")
+ @Schema(description = "The loyalty is required, and the POI refuses the processing of the message request if the cardholder does not entre a loyalty card")
+ REQUIRED("Required");
+ private final String value;
+
+ LoyaltyHandlingType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value loyalty handling type.
+ *
+ * @param v the v
+ * @return the loyalty handling type
+ */
+ public static LoyaltyHandlingType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LoyaltyRequest.java b/src/main/java/com/adyen/model/nexo/LoyaltyRequest.java
new file mode 100644
index 000000000..25f4edada
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LoyaltyRequest.java
@@ -0,0 +1,126 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Loyalty Request messageType. -- Usage: It conveys Information related to the Loyalty transaction to process
+ *
+ * Java class for LoyaltyRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="LoyaltyRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SaleData" type="{}SaleData"/>
+ * <element name="LoyaltyTransaction" type="{}LoyaltyTransaction"/>
+ * <element name="LoyaltyData" type="{}LoyaltyData" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LoyaltyRequest", propOrder = {
+ "saleData",
+ "loyaltyTransaction",
+ "loyaltyData"
+})
+public class LoyaltyRequest {
+
+ /**
+ * The Sale data.
+ */
+ @XmlElement(name = "SaleData", required = true)
+ @Schema(description = "Data related to the Sale System.")
+ protected SaleData saleData;
+ /**
+ * The Loyalty transaction.
+ */
+ @XmlElement(name = "LoyaltyTransaction", required = true)
+ @Schema(description = "Data related to the loyalty transaction.")
+ protected LoyaltyTransaction loyaltyTransaction;
+ /**
+ * The Loyalty data.
+ */
+ @XmlElement(name = "LoyaltyData")
+ @Schema(description = "Data related to a Loyalty program or account.")
+ protected List loyaltyData;
+
+ /**
+ * Gets the value of the saleData property.
+ *
+ * @return possible object is {@link SaleData }
+ */
+ public SaleData getSaleData() {
+ return saleData;
+ }
+
+ /**
+ * Sets the value of the saleData property.
+ *
+ * @param value allowed object is {@link SaleData }
+ */
+ public void setSaleData(SaleData value) {
+ this.saleData = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyTransaction property.
+ *
+ * @return possible object is {@link LoyaltyTransaction }
+ */
+ public LoyaltyTransaction getLoyaltyTransaction() {
+ return loyaltyTransaction;
+ }
+
+ /**
+ * Sets the value of the loyaltyTransaction property.
+ *
+ * @param value allowed object is {@link LoyaltyTransaction }
+ */
+ public void setLoyaltyTransaction(LoyaltyTransaction value) {
+ this.loyaltyTransaction = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyData property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the loyaltyData property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getLoyaltyData().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link LoyaltyData }
+ *
+ * @return the loyalty data
+ */
+ public List getLoyaltyData() {
+ if (loyaltyData == null) {
+ loyaltyData = new ArrayList<>();
+ }
+ return this.loyaltyData;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LoyaltyResponse.java b/src/main/java/com/adyen/model/nexo/LoyaltyResponse.java
new file mode 100644
index 000000000..2a3cea833
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LoyaltyResponse.java
@@ -0,0 +1,189 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Loyalty Response messageType. -- Usage: It conveys Information related to the Loyalty transaction processed by the POI System.
+ *
+ * Java class for LoyaltyResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="LoyaltyResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * <element name="SaleData" type="{}SaleData"/>
+ * <element name="POIData" type="{}POIData"/>
+ * <element name="LoyaltyResult" type="{}LoyaltyResult" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="PaymentReceipt" type="{}PaymentReceipt" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LoyaltyResponse", propOrder = {
+ "response",
+ "saleData",
+ "poiData",
+ "loyaltyResult",
+ "paymentReceipt"
+})
+public class LoyaltyResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Sale data.
+ */
+ @XmlElement(name = "SaleData", required = true)
+ @Schema(description = "Data related to the Sale System.")
+ protected SaleData saleData;
+ /**
+ * The Poi data.
+ */
+ @XmlElement(name = "POIData", required = true)
+ @Schema(description = "Data related to the POI System.")
+ protected POIData poiData;
+ /**
+ * The Loyalty result.
+ */
+ @XmlElement(name = "LoyaltyResult")
+ @Schema(description = "Data related to the result of a processed loyalty transaction. --Rule: if loyalty account identified")
+ protected List loyaltyResult;
+ /**
+ * The Payment receipt.
+ */
+ @XmlElement(name = "PaymentReceipt")
+ @Schema(description = "Customer or Merchant payment receipt. --Rule: If Basic profile implementation with no printer on the POI.")
+ protected List paymentReceipt;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the saleData property.
+ *
+ * @return possible object is {@link SaleData }
+ */
+ public SaleData getSaleData() {
+ return saleData;
+ }
+
+ /**
+ * Sets the value of the saleData property.
+ *
+ * @param value allowed object is {@link SaleData }
+ */
+ public void setSaleData(SaleData value) {
+ this.saleData = value;
+ }
+
+ /**
+ * Gets the value of the poiData property.
+ *
+ * @return possible object is {@link POIData }
+ */
+ public POIData getPOIData() {
+ return poiData;
+ }
+
+ /**
+ * Sets the value of the poiData property.
+ *
+ * @param value allowed object is {@link POIData }
+ */
+ public void setPOIData(POIData value) {
+ this.poiData = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyResult property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the loyaltyResult property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getLoyaltyResult().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link LoyaltyResult }
+ *
+ * @return the loyalty result
+ */
+ public List getLoyaltyResult() {
+ if (loyaltyResult == null) {
+ loyaltyResult = new ArrayList<>();
+ }
+ return this.loyaltyResult;
+ }
+
+ /**
+ * Gets the value of the paymentReceipt property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the paymentReceipt property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getPaymentReceipt().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link PaymentReceipt }
+ *
+ * @return the payment receipt
+ */
+ public List getPaymentReceipt() {
+ if (paymentReceipt == null) {
+ paymentReceipt = new ArrayList<>();
+ }
+ return this.paymentReceipt;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LoyaltyResult.java b/src/main/java/com/adyen/model/nexo/LoyaltyResult.java
new file mode 100644
index 000000000..75a644463
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LoyaltyResult.java
@@ -0,0 +1,165 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+
+
+/**
+ * Definition: Data related to the result of a processed loyalty transaction. -- Usage: In the Message Response, the result of each loyalty brand transaction.
+ *
+ * Java class for LoyaltyResult complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="LoyaltyResult">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="LoyaltyAccount" type="{}LoyaltyAccount"/>
+ * <element name="LoyaltyAmount" type="{}LoyaltyAmount" minOccurs="0"/>
+ * <element name="LoyaltyAcquirerData" type="{}LoyaltyAcquirerData" minOccurs="0"/>
+ * <element name="Rebates" type="{}Rebates" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="CurrentBalance" type="{}SimpleAmountType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LoyaltyResult", propOrder = {
+ "loyaltyAccount",
+ "loyaltyAmount",
+ "loyaltyAcquirerData",
+ "rebates"
+})
+public class LoyaltyResult {
+
+ /**
+ * The Loyalty account.
+ */
+ @XmlElement(name = "LoyaltyAccount", required = true)
+ @Schema(description = "Data related to a loyalty account processed in the transaction.")
+ protected LoyaltyAccount loyaltyAccount;
+ /**
+ * The Loyalty amount.
+ */
+ @XmlElement(name = "LoyaltyAmount")
+ @Schema(description = "Amount of a loyalty account. --Rule: If awarded amount")
+ protected LoyaltyAmount loyaltyAmount;
+ /**
+ * The Loyalty acquirer data.
+ */
+ @XmlElement(name = "LoyaltyAcquirerData")
+ @Schema(description = "Data related to the loyalty Acquirer during a loyalty transaction. --Rule: if content not empty")
+ protected LoyaltyAcquirerData loyaltyAcquirerData;
+ /**
+ * The Rebates.
+ */
+ @XmlElement(name = "Rebates")
+ @Schema(description = "Rebate form to an award; --Rule: if rebates awarded")
+ protected Rebates rebates;
+ /**
+ * The Current balance.
+ */
+ @XmlElement(name = "CurrentBalance")
+ @Schema(description = "Balance of an account. --Rule: if known (provided by the card or an external host)")
+ protected BigDecimal currentBalance;
+
+ /**
+ * Gets the value of the loyaltyAccount property.
+ *
+ * @return possible object is {@link LoyaltyAccount }
+ */
+ public LoyaltyAccount getLoyaltyAccount() {
+ return loyaltyAccount;
+ }
+
+ /**
+ * Sets the value of the loyaltyAccount property.
+ *
+ * @param value allowed object is {@link LoyaltyAccount }
+ */
+ public void setLoyaltyAccount(LoyaltyAccount value) {
+ this.loyaltyAccount = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyAmount property.
+ *
+ * @return possible object is {@link LoyaltyAmount }
+ */
+ public LoyaltyAmount getLoyaltyAmount() {
+ return loyaltyAmount;
+ }
+
+ /**
+ * Sets the value of the loyaltyAmount property.
+ *
+ * @param value allowed object is {@link LoyaltyAmount }
+ */
+ public void setLoyaltyAmount(LoyaltyAmount value) {
+ this.loyaltyAmount = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyAcquirerData property.
+ *
+ * @return possible object is {@link LoyaltyAcquirerData }
+ */
+ public LoyaltyAcquirerData getLoyaltyAcquirerData() {
+ return loyaltyAcquirerData;
+ }
+
+ /**
+ * Sets the value of the loyaltyAcquirerData property.
+ *
+ * @param value allowed object is {@link LoyaltyAcquirerData }
+ */
+ public void setLoyaltyAcquirerData(LoyaltyAcquirerData value) {
+ this.loyaltyAcquirerData = value;
+ }
+
+ /**
+ * Gets the value of the rebates property.
+ *
+ * @return possible object is {@link Rebates }
+ */
+ public Rebates getRebates() {
+ return rebates;
+ }
+
+ /**
+ * Sets the value of the rebates property.
+ *
+ * @param value allowed object is {@link Rebates }
+ */
+ public void setRebates(Rebates value) {
+ this.rebates = value;
+ }
+
+ /**
+ * Gets the value of the currentBalance property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getCurrentBalance() {
+ return currentBalance;
+ }
+
+ /**
+ * Sets the value of the currentBalance property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setCurrentBalance(BigDecimal value) {
+ this.currentBalance = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LoyaltyTotals.java b/src/main/java/com/adyen/model/nexo/LoyaltyTotals.java
new file mode 100644
index 000000000..d45e95059
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LoyaltyTotals.java
@@ -0,0 +1,109 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
+
+/**
+ * Definition: Totals of the loyalty transaction during the reconciliation period.
+ *
+ * Java class for LoyaltyTotals complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="LoyaltyTotals">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="Transaction" use="required" type="{}TransactionType" />
+ * <attribute name="TransactionCount" use="required" type="{}TransactionCount" />
+ * <attribute name="TransactionAmount" use="required" type="{}SimpleAmountType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LoyaltyTotals")
+public class LoyaltyTotals {
+
+ /**
+ * The Transaction.
+ */
+ @XmlElement(name = "TransactionType", required = true)
+ @Schema(description = "Type of transaction for which totals are grouped. --Rule: Award, ReverseAward, Redemption, ReverseRedemption, Rebate, ReverseRebate")
+ protected TransactionType transactionType;
+ /**
+ * The Transaction count.
+ */
+ @XmlElement(name = "TransactionCount", required = true)
+ @Schema(description = "Number of processed transaction during the period.")
+ protected BigInteger transactionCount;
+ /**
+ * The Transaction amount.
+ */
+ @XmlElement(name = "TransactionAmount", required = true)
+ @Schema(description = "Sum of amount of processed transaction during the period.")
+ protected BigDecimal transactionAmount;
+
+ /**
+ * Gets the value of the transactionType property.
+ *
+ * @return possible object is {@link TransactionType }
+ */
+ public TransactionType getTransactionType() {
+ return transactionType;
+ }
+
+ /**
+ * Sets the value of the transactionType property.
+ *
+ * @param value allowed object is {@link TransactionType }
+ */
+ public void setTransactionType(TransactionType value) {
+ this.transactionType = value;
+ }
+
+ /**
+ * Gets the value of the transactionCount property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getTransactionCount() {
+ return transactionCount;
+ }
+
+ /**
+ * Sets the value of the transactionCount property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setTransactionCount(BigInteger value) {
+ this.transactionCount = value;
+ }
+
+ /**
+ * Gets the value of the transactionAmount property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getTransactionAmount() {
+ return transactionAmount;
+ }
+
+ /**
+ * Sets the value of the transactionAmount property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setTransactionAmount(BigDecimal value) {
+ this.transactionAmount = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LoyaltyTransaction.java b/src/main/java/com/adyen/model/nexo/LoyaltyTransaction.java
new file mode 100644
index 000000000..9ec0816b0
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LoyaltyTransaction.java
@@ -0,0 +1,202 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Data related to the loyalty transaction.
+ *
+ * Java class for LoyaltyTransaction complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="LoyaltyTransaction">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="OriginalPOITransaction" type="{}OriginalPOITransaction" minOccurs="0"/>
+ * <element name="TransactionConditions" type="{}TransactionConditions" minOccurs="0"/>
+ * <element name="SaleItem" type="{}SaleItem" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="LoyaltyTransaction" use="required" type="{}LoyaltyTransactionType" />
+ * <attribute name="Currency" type="{}ISOCurrency3A" />
+ * <attribute name="TotalAmount" type="{}SimpleAmountType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LoyaltyTransaction", propOrder = {
+ "originalPOITransaction",
+ "transactionConditions",
+ "saleItem"
+})
+public class LoyaltyTransaction {
+
+ /**
+ * The Original poi transaction.
+ */
+ @XmlElement(name = "OriginalPOITransaction")
+ @Schema(description = "Identification of a previous POI transaction. --Rule: if LoyaltyTransactionType is \"AwardRefund\", \"RebateRefund\" or \"RedemptionRefund\"")
+ protected OriginalPOITransaction originalPOITransaction;
+ /**
+ * The Transaction conditions.
+ */
+ @XmlElement(name = "TransactionConditions")
+ @Schema(description = "Conditions on which the transaction must be processed. --Rule: If one data element is present")
+ protected TransactionConditions transactionConditions;
+ /**
+ * The Sale item.
+ */
+ @XmlElement(name = "SaleItem")
+ @Schema(description = "Sale items of a transaction.")
+ protected List saleItem;
+ /**
+ * The Loyalty transaction.
+ */
+ @XmlElement(name = "LoyaltyTransactionType", required = true)
+ @Schema(description = "Type of loyalty transaction.")
+ protected LoyaltyTransactionType loyaltyTransactionType;
+ /**
+ * The Currency.
+ */
+ @XmlElement(name = "Currency")
+ @Schema(description = "Currency of a monetary amount.")
+ protected String currency;
+ /**
+ * The Total amount.
+ */
+ @XmlElement(name = "TotalAmount")
+ @Schema(description = "Amount of a transaction.")
+ protected BigDecimal totalAmount;
+
+ /**
+ * Gets the value of the originalPOITransaction property.
+ *
+ * @return possible object is {@link OriginalPOITransaction }
+ */
+ public OriginalPOITransaction getOriginalPOITransaction() {
+ return originalPOITransaction;
+ }
+
+ /**
+ * Sets the value of the originalPOITransaction property.
+ *
+ * @param value allowed object is {@link OriginalPOITransaction }
+ */
+ public void setOriginalPOITransaction(OriginalPOITransaction value) {
+ this.originalPOITransaction = value;
+ }
+
+ /**
+ * Gets the value of the transactionConditions property.
+ *
+ * @return possible object is {@link TransactionConditions }
+ */
+ public TransactionConditions getTransactionConditions() {
+ return transactionConditions;
+ }
+
+ /**
+ * Sets the value of the transactionConditions property.
+ *
+ * @param value allowed object is {@link TransactionConditions }
+ */
+ public void setTransactionConditions(TransactionConditions value) {
+ this.transactionConditions = value;
+ }
+
+ /**
+ * Gets the value of the saleItem property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the saleItem property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getSaleItem().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link SaleItem }
+ *
+ * @return the sale item
+ */
+ public List getSaleItem() {
+ if (saleItem == null) {
+ saleItem = new ArrayList<>();
+ }
+ return this.saleItem;
+ }
+
+ /**
+ * Gets the value of the loyaltyTransactionType property.
+ *
+ * @return possible object is {@link LoyaltyTransactionType }
+ */
+ public LoyaltyTransactionType getLoyaltyTransactionType() {
+ return loyaltyTransactionType;
+ }
+
+ /**
+ * Sets the value of the loyaltyTransactionType property.
+ *
+ * @param value allowed object is {@link LoyaltyTransactionType }
+ */
+ public void setLoyaltyTransactionType(LoyaltyTransactionType value) {
+ this.loyaltyTransactionType = value;
+ }
+
+ /**
+ * Gets the value of the currency property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCurrency() {
+ return currency;
+ }
+
+ /**
+ * Sets the value of the currency property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCurrency(String value) {
+ this.currency = value;
+ }
+
+ /**
+ * Gets the value of the totalAmount property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getTotalAmount() {
+ return totalAmount;
+ }
+
+ /**
+ * Sets the value of the totalAmount property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setTotalAmount(BigDecimal value) {
+ this.totalAmount = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LoyaltyTransactionType.java b/src/main/java/com/adyen/model/nexo/LoyaltyTransactionType.java
new file mode 100644
index 000000000..da6b5ba8e
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LoyaltyTransactionType.java
@@ -0,0 +1,102 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for LoyaltyTransactionType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="LoyaltyTransactionType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Award"/>
+ * <enumeration value="Rebate"/>
+ * <enumeration value="Redemption"/>
+ * <enumeration value="AwardRefund"/>
+ * <enumeration value="RebateRefund"/>
+ * <enumeration value="RedemptionRefund"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "LoyaltyTransactionType")
+@XmlEnum
+public enum LoyaltyTransactionType {
+
+
+ /**
+ * Direct or payment related award on a loyalty account. Award alone, award associated to a payment (may be with an additional award alone), award because of a
+ */
+ @XmlEnumValue("Award")
+ @Schema(description = "Direct or payment related award on a loyalty account. Award alone, award associated to a payment (may be with an additional award alone), award because of a")
+ AWARD("Award"),
+
+ /**
+ * Rebate on a total amount, sale item amount, or sale items
+ */
+ @XmlEnumValue("Rebate")
+ @Schema(description = "Rebate on a total amount, sale item amount, or sale items")
+ REBATE("Rebate"),
+
+ /**
+ * Redemption on a loyalty account.
+ */
+ @XmlEnumValue("Redemption")
+ @Schema(description = "Redemption on a loyalty account.")
+ REDEMPTION("Redemption"),
+
+ /**
+ * Refund of a loyalty award transaction.
+ */
+ @XmlEnumValue("AwardRefund")
+ @Schema(description = "Refund of a loyalty award transaction.")
+ AWARD_REFUND("AwardRefund"),
+
+ /**
+ * Refund of a loyalty rebate transaction.
+ */
+ @XmlEnumValue("RebateRefund")
+ @Schema(description = "Refund of a loyalty rebate transaction.")
+ REBATE_REFUND("RebateRefund"),
+
+ /**
+ * Refund of a loyalty redemption transaction.
+ */
+ @XmlEnumValue("RedemptionRefund")
+ @Schema(description = "Refund of a loyalty redemption transaction.")
+ REDEMPTION_REFUND("RedemptionRefund");
+ private final String value;
+
+ LoyaltyTransactionType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value loyalty transaction type.
+ *
+ * @param v the v
+ * @return the loyalty transaction type
+ */
+ public static LoyaltyTransactionType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/LoyaltyUnitType.java b/src/main/java/com/adyen/model/nexo/LoyaltyUnitType.java
new file mode 100644
index 000000000..854a08505
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/LoyaltyUnitType.java
@@ -0,0 +1,70 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for LoyaltyUnitType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="LoyaltyUnitType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Point"/>
+ * <enumeration value="Monetary"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "LoyaltyUnitType")
+@XmlEnum
+public enum LoyaltyUnitType {
+
+
+ /**
+ * The amount is expressed in point.
+ */
+ @XmlEnumValue("Point")
+ @Schema(description = "The amount is expressed in point.")
+ POINT("Point"),
+
+ /**
+ * The amount is expressed in a monetary value in a currency.
+ */
+ @XmlEnumValue("Monetary")
+ @Schema(description = "The amount is expressed in a monetary value in a currency.")
+ MONETARY("Monetary");
+ private final String value;
+
+ LoyaltyUnitType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value loyalty unit type.
+ *
+ * @param v the v
+ * @return the loyalty unit type
+ */
+ public static LoyaltyUnitType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/MenuEntry.java b/src/main/java/com/adyen/model/nexo/MenuEntry.java
new file mode 100644
index 000000000..54c88b1f7
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/MenuEntry.java
@@ -0,0 +1,209 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: An entryof the menu to present to the Cashier -- Usage: It conveys messageType 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.
+ *
+ * Java class for MenuEntry complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="MenuEntry">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="PredefinedContent" type="{}PredefinedContent" minOccurs="0"/>
+ * <element name="OutputText" type="{}OutputText" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="OutputXHTML" type="{}OutputXHTML" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="MenuEntryTag" type="{}MenuEntryTagType" default="Selectable" />
+ * <attribute name="OutputFormat" use="required" type="{}OutputFormatType" />
+ * <attribute name="DefaultSelectedFlag" type="{}DefaultSelectedFlag" default="false" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MenuEntry", propOrder = {
+ "predefinedContent",
+ "outputText",
+ "outputXHTML"
+})
+public class MenuEntry {
+
+ /**
+ * The Predefined content.
+ */
+ @XmlElement(name = "PredefinedContent")
+ @Schema(description = "Reference of a predefined message to display or print. --Rule: Mandatory, if OutputFormat is MessageRef, not allowed otherwise.")
+ protected PredefinedContent predefinedContent;
+ /**
+ * The Output text.
+ */
+ @XmlElement(name = "OutputText")
+ @Schema(description = "Content of text message to display or print. --Rule: Mandatory, if OutputFormat is Text, not allowed otherwise. One instance of OutputText per shared format")
+ protected List outputText;
+ /**
+ * The Output xhtml.
+ */
+ @XmlElement(name = "OutputXHTML")
+ @Schema(description = "XHTML document body containing the message to display or print. --Rule: Mandatory, if OutputFormat is XHTML, not allowed otherwise.")
+ protected byte[] outputXHTML;
+ /**
+ * The Menu entry tag.
+ */
+ @XmlElement(name = "MenuEntryTag")
+ @Schema(description = "Characteristics related to the selection of a menu entry")
+ protected MenuEntryTagType menuEntryTag;
+ /**
+ * The Output format.
+ */
+ @XmlElement(name = "OutputFormat", required = true)
+ @Schema(description = "Format of the content to display or print --Rule: MessageRef, Text, XHTML")
+ protected OutputFormatType outputFormat;
+ /**
+ * The Default selected flag.
+ */
+ @XmlElement(name = "DefaultSelectedFlag")
+ @Schema(description = "Selection of a menu entry to be displayed.")
+ protected Boolean defaultSelectedFlag;
+
+ /**
+ * Gets the value of the predefinedContent property.
+ *
+ * @return possible object is {@link PredefinedContent }
+ */
+ public PredefinedContent getPredefinedContent() {
+ return predefinedContent;
+ }
+
+ /**
+ * Sets the value of the predefinedContent property.
+ *
+ * @param value allowed object is {@link PredefinedContent }
+ */
+ public void setPredefinedContent(PredefinedContent value) {
+ this.predefinedContent = value;
+ }
+
+ /**
+ * Gets the value of the outputText property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the outputText property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getOutputText().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link OutputText }
+ *
+ * @return the output text
+ */
+ public List getOutputText() {
+ if (outputText == null) {
+ outputText = new ArrayList<>();
+ }
+ return this.outputText;
+ }
+
+ /**
+ * Gets the value of the outputXHTML property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getOutputXHTML() {
+ return outputXHTML;
+ }
+
+ /**
+ * Sets the value of the outputXHTML property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setOutputXHTML(byte[] value) {
+ this.outputXHTML = value;
+ }
+
+ /**
+ * Gets the value of the menuEntryTag property.
+ *
+ * @return possible object is {@link MenuEntryTagType }
+ */
+ public MenuEntryTagType getMenuEntryTag() {
+ if (menuEntryTag == null) {
+ return MenuEntryTagType.SELECTABLE;
+ } else {
+ return menuEntryTag;
+ }
+ }
+
+ /**
+ * Sets the value of the menuEntryTag property.
+ *
+ * @param value allowed object is {@link MenuEntryTagType }
+ */
+ public void setMenuEntryTag(MenuEntryTagType value) {
+ this.menuEntryTag = value;
+ }
+
+ /**
+ * Gets the value of the outputFormat property.
+ *
+ * @return possible object is {@link OutputFormatType }
+ */
+ public OutputFormatType getOutputFormat() {
+ return outputFormat;
+ }
+
+ /**
+ * Sets the value of the outputFormat property.
+ *
+ * @param value allowed object is {@link OutputFormatType }
+ */
+ public void setOutputFormat(OutputFormatType value) {
+ this.outputFormat = value;
+ }
+
+ /**
+ * Gets the value of the defaultSelectedFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isDefaultSelectedFlag() {
+ if (defaultSelectedFlag == null) {
+ return false;
+ } else {
+ return defaultSelectedFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the defaultSelectedFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setDefaultSelectedFlag(Boolean value) {
+ this.defaultSelectedFlag = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/MenuEntryTagType.java b/src/main/java/com/adyen/model/nexo/MenuEntryTagType.java
new file mode 100644
index 000000000..3a2fc419b
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/MenuEntryTagType.java
@@ -0,0 +1,86 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for MenuEntryTagType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="MenuEntryTagType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Selectable"/>
+ * <enumeration value="NonSelectable"/>
+ * <enumeration value="SubMenu"/>
+ * <enumeration value="NonSelectableSubMenu"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "MenuEntryTagType")
+@XmlEnum
+public enum MenuEntryTagType {
+
+
+ /**
+ * The Cashier may select this entryof the menu
+ */
+ @XmlEnumValue("Selectable")
+ @Schema(description = "The Cashier may select this entryof the menu")
+ SELECTABLE("Selectable"),
+
+ /**
+ * The Cashier cannot select this entryof the menu
+ */
+ @XmlEnumValue("NonSelectable")
+ @Schema(description = "The Cashier cannot select this entryof the menu")
+ NON_SELECTABLE("NonSelectable"),
+
+ /**
+ * The selection of this entry produces the display of a sub-menu (by the sending of another Input Request messageType containing the entries of this sub-menu).
+ */
+ @XmlEnumValue("SubMenu")
+ @Schema(description = "The selection of this entry produces the display of a sub-menu (by the sending of another Input Request message containing the entries of this sub-menu).")
+ SUB_MENU("SubMenu"),
+
+ /**
+ * The menu entry is a submenu, but cannot be selected.
+ */
+ @XmlEnumValue("NonSelectableSubMenu")
+ @Schema(description = "The menu entry is a submenu, but cannot be selected.")
+ NON_SELECTABLE_SUB_MENU("NonSelectableSubMenu");
+ private final String value;
+
+ MenuEntryTagType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value menu entry tag type.
+ *
+ * @param v the v
+ * @return the menu entry tag type
+ */
+ public static MenuEntryTagType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/MessageCategoryType.java b/src/main/java/com/adyen/model/nexo/MessageCategoryType.java
new file mode 100644
index 000000000..63d30c47f
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/MessageCategoryType.java
@@ -0,0 +1,268 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for MessageCategoryType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="MessageCategoryType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Abort"/>
+ * <enumeration value="Admin"/>
+ * <enumeration value="BalanceInquiry"/>
+ * <enumeration value="Batch"/>
+ * <enumeration value="CardAcquisition"/>
+ * <enumeration value="CardReaderAPDU"/>
+ * <enumeration value="CardReaderInit"/>
+ * <enumeration value="CardReaderPowerOff"/>
+ * <enumeration value="Diagnosis"/>
+ * <enumeration value="Display"/>
+ * <enumeration value="EnableService"/>
+ * <enumeration value="Event"/>
+ * <enumeration value="GetTotals"/>
+ * <enumeration value="Input"/>
+ * <enumeration value="InputUpdate"/>
+ * <enumeration value="Login"/>
+ * <enumeration value="Logout"/>
+ * <enumeration value="Loyalty"/>
+ * <enumeration value="Payment"/>
+ * <enumeration value="PIN"/>
+ * <enumeration value="Print"/>
+ * <enumeration value="Reconciliation"/>
+ * <enumeration value="Reversal"/>
+ * <enumeration value="Sound"/>
+ * <enumeration value="StoredValue"/>
+ * <enumeration value="TransactionStatus"/>
+ * <enumeration value="Transmit"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "MessageCategoryType")
+@XmlEnum
+public enum MessageCategoryType {
+
+
+ /**
+ * Abort messageType request
+ */
+ @XmlEnumValue("Abort")
+ @Schema(description = "Abort message request")
+ ABORT("Abort"),
+
+ /**
+ * Admin request or response
+ */
+ @XmlEnumValue("Admin")
+ @Schema(description = "Admin request or response")
+ ADMIN("Admin"),
+
+ /**
+ * Balance Inquiry request or response
+ */
+ @XmlEnumValue("BalanceInquiry")
+ @Schema(description = "Balance Inquiry request or response")
+ BALANCE_INQUIRY("BalanceInquiry"),
+
+ /**
+ * Batch request or response
+ */
+ @XmlEnumValue("Batch")
+ @Schema(description = "Batch request or response")
+ BATCH("Batch"),
+
+ /**
+ * Card Acquisition request or response
+ */
+ @XmlEnumValue("CardAcquisition")
+ @Schema(description = "Card Acquisition request or response")
+ CARD_ACQUISITION("CardAcquisition"),
+
+ /**
+ * Card Reader APDU request or response
+ */
+ @XmlEnumValue("CardReaderAPDU")
+ @Schema(description = "Card Reader APDU request or response")
+ CARD_READER_APDU("CardReaderAPDU"),
+
+ /**
+ * Card Reader Init request or response
+ */
+ @XmlEnumValue("CardReaderInit")
+ @Schema(description = "Card Reader Init request or response")
+ CARD_READER_INIT("CardReaderInit"),
+
+ /**
+ * Card Reader Power-Off request or response
+ */
+ @XmlEnumValue("CardReaderPowerOff")
+ @Schema(description = "Card Reader Power-Off request or response")
+ CARD_READER_POWER_OFF("CardReaderPowerOff"),
+
+ /**
+ * Diagnosis request or response
+ */
+ @XmlEnumValue("Diagnosis")
+ @Schema(description = "Diagnosis request or response")
+ DIAGNOSIS("Diagnosis"),
+
+ /**
+ * Display messageType request or response
+ */
+ @XmlEnumValue("Display")
+ @Schema(description = "Display message request or response")
+ DISPLAY("Display"),
+
+ /**
+ * Enable Service messageType request or response
+ */
+ @XmlEnumValue("EnableService")
+ @Schema(description = "Enable Service message request or response")
+ ENABLE_SERVICE("EnableService"),
+
+ /**
+ * Event Notification messageType
+ */
+ @XmlEnumValue("Event")
+ @Schema(description = "Event Notification message")
+ EVENT("Event"),
+
+ /**
+ * GetTotals messageType request or response
+ */
+ @XmlEnumValue("GetTotals")
+ @Schema(description = "GetTotals message request or response")
+ GET_TOTALS("GetTotals"),
+
+ /**
+ * Input messageType request or response
+ */
+ @XmlEnumValue("Input")
+ @Schema(description = "Input message request or response")
+ INPUT("Input"),
+
+ /**
+ * Input Update messageType
+ */
+ @XmlEnumValue("InputUpdate")
+ @Schema(description = "Input Update message")
+ INPUT_UPDATE("InputUpdate"),
+
+ /**
+ * Login messageType request or response
+ */
+ @XmlEnumValue("Login")
+ @Schema(description = "Login message request or response")
+ LOGIN("Login"),
+
+ /**
+ * Logout messageType request or response
+ */
+ @XmlEnumValue("Logout")
+ @Schema(description = "Logout message request or response")
+ LOGOUT("Logout"),
+
+ /**
+ * Loyalty messageType request or response
+ */
+ @XmlEnumValue("Loyalty")
+ @Schema(description = "Loyalty message request or response")
+ LOYALTY("Loyalty"),
+
+ /**
+ * Payment messageType request or response
+ */
+ @XmlEnumValue("Payment")
+ @Schema(description = "Payment message request or response")
+ PAYMENT("Payment"),
+
+ /**
+ * PIN messageType request or response
+ */
+ PIN("PIN"),
+
+ /**
+ * Print messageType request or response
+ */
+ @XmlEnumValue("Print")
+ @Schema(description = "Print message request or response")
+ PRINT("Print"),
+
+ /**
+ * Reconciliation messageType request or response
+ */
+ @XmlEnumValue("Reconciliation")
+ @Schema(description = "Reconciliation message request or response")
+ RECONCILIATION("Reconciliation"),
+
+ /**
+ * Reversal messageType request or response
+ */
+ @XmlEnumValue("Reversal")
+ @Schema(description = "Reversal message request or response")
+ REVERSAL("Reversal"),
+
+ /**
+ * Sound messageType request or response
+ */
+ @XmlEnumValue("Sound")
+ @Schema(description = "Sound message request or response")
+ SOUND("Sound"),
+
+ /**
+ * Stored Value messageType request or response
+ */
+ @XmlEnumValue("StoredValue")
+ @Schema(description = "Stored Value message request or response")
+ STORED_VALUE("StoredValue"),
+
+ /**
+ * TransactionStatus messageType request or response
+ */
+ @XmlEnumValue("TransactionStatus")
+ @Schema(description = "TransactionStatus message request or response")
+ TRANSACTION_STATUS("TransactionStatus"),
+
+ /**
+ * Transmit messageType request or response
+ */
+ @XmlEnumValue("Transmit")
+ @Schema(description = "Transmit message request or response")
+ TRANSMIT("Transmit");
+ private final String value;
+
+ MessageCategoryType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value message category type.
+ *
+ * @param v the v
+ * @return the message category type
+ */
+ public static MessageCategoryType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/MessageClassType.java b/src/main/java/com/adyen/model/nexo/MessageClassType.java
new file mode 100644
index 000000000..899f143a3
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/MessageClassType.java
@@ -0,0 +1,78 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for MessageClassType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="MessageClassType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Service"/>
+ * <enumeration value="Device"/>
+ * <enumeration value="Event"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "MessageClassType")
+@XmlEnum
+public enum MessageClassType {
+
+
+ /**
+ * A transaction messageType pair initiated by the Sale System, and requested to the POI System.
+ */
+ @XmlEnumValue("Service")
+ @Schema(description = "A transaction message pair initiated by the Sale System, and requested to the POI System.")
+ SERVICE("Service"),
+
+ /**
+ * A device messageType pair either: Inside a Service request and response. This device messageType pair is initiated by the POI System, and sent to Sale System,
+ */
+ @XmlEnumValue("Device")
+ @Schema(description = "A device message pair either: Inside a Service request and response. This device message pair is initiated by the POI System, and sent to Sale System,")
+ DEVICE("Device"),
+
+ /**
+ * An unsolicited event notification by the POI System to the Sale System.
+ */
+ @XmlEnumValue("Event")
+ @Schema(description = "An unsolicited event notification by the POI System to the Sale System.")
+ EVENT("Event");
+ private final String value;
+
+ MessageClassType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value message class type.
+ *
+ * @param v the v
+ * @return the message class type
+ */
+ public static MessageClassType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/MessageHeader.java b/src/main/java/com/adyen/model/nexo/MessageHeader.java
new file mode 100644
index 000000000..ed7729b6c
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/MessageHeader.java
@@ -0,0 +1,232 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Message header of the Sale to POI protocol messageType. -- Usage: It conveys Information related to the Sale to POI protocol management
+ *
+ * Java class for MessageHeader complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="MessageHeader">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="ProtocolVersion" type="{}ProtocolVersion" />
+ * <attribute name="MessageClass" use="required" type="{}MessageClassType" />
+ * <attribute name="MessageCategory" use="required" type="{}MessageCategoryType" />
+ * <attribute name="Message" use="required" type="{}MessageType" />
+ * <attribute name="ServiceID" type="{}ServiceID" />
+ * <attribute name="DeviceID" type="{}DeviceID" />
+ * <attribute name="SaleID" use="required" type="{}SaleID" />
+ * <attribute name="POIID" use="required" type="{}POIID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MessageHeader")
+public class MessageHeader {
+
+ /**
+ * The Protocol version.
+ */
+ @XmlElement(name = "ProtocolVersion")
+ @Schema(description = ">--Rule:If MessageCategory is Login or Diagnosis")
+ protected String protocolVersion;
+ /**
+ * The Message class.
+ */
+ @XmlElement(name = "MessageClass", required = true)
+ @Schema(description = "Class of the message")
+ protected MessageClassType messageClass;
+ /**
+ * The Message category.
+ */
+ @XmlElement(name = "MessageCategory", required = true)
+ @Schema(description = "Category of message.")
+ protected MessageCategoryType messageCategory;
+ /**
+ * The Message type.
+ */
+ @XmlElement(name = "MessageType", required = true)
+ @Schema(description = "Type of message of the Sale to POI protocol")
+ protected MessageType messageType;
+ /**
+ * The Service id.
+ */
+ @XmlElement(name = "ServiceID")
+ @Schema(description = "Identification of a message pair, which processes a transaction --Rule: If \"Service\" or \"Event\" MessageClass message. If \"Device\" MessageClass, and request from POI or response from Sale.", minLength = 1, maxLength = 10)
+ protected String serviceID;
+ /**
+ * The Device id.
+ */
+ @XmlElement(name = "DeviceID")
+ @Schema(description = "Identification of a device message pair --Rule: If \"Device\" MessageClass")
+ protected String deviceID;
+ /**
+ * The Sale id.
+ */
+ @XmlElement(name = "SaleID", required = true)
+ @Schema(description = "Identification of a Sale System or a Sale Terminal for the Sale to POI protocol")
+ protected String saleID;
+ /**
+ * The Poiid.
+ */
+ @XmlElement(name = "POIID", required = true)
+ @Schema(description = "Identification of a POI System or a POI Terminal for the Sale to POI protocol")
+ protected String poiid;
+
+ /**
+ * Gets the value of the protocolVersion property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getProtocolVersion() {
+ return protocolVersion;
+ }
+
+ /**
+ * Sets the value of the protocolVersion property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setProtocolVersion(String value) {
+ this.protocolVersion = value;
+ }
+
+ /**
+ * Gets the value of the messageClass property.
+ *
+ * @return possible object is {@link MessageClassType }
+ */
+ public MessageClassType getMessageClass() {
+ return messageClass;
+ }
+
+ /**
+ * Sets the value of the messageClass property.
+ *
+ * @param value allowed object is {@link MessageClassType }
+ */
+ public void setMessageClass(MessageClassType value) {
+ this.messageClass = value;
+ }
+
+ /**
+ * Gets the value of the messageCategory property.
+ *
+ * @return possible object is {@link MessageCategoryType }
+ */
+ public MessageCategoryType getMessageCategory() {
+ return messageCategory;
+ }
+
+ /**
+ * Sets the value of the messageCategory property.
+ *
+ * @param value allowed object is {@link MessageCategoryType }
+ */
+ public void setMessageCategory(MessageCategoryType value) {
+ this.messageCategory = value;
+ }
+
+ /**
+ * Gets the value of the messageType property.
+ *
+ * @return possible object is {@link MessageType }
+ */
+ public MessageType getMessageType() {
+ return messageType;
+ }
+
+ /**
+ * Sets the value of the messageType property.
+ *
+ * @param value allowed object is {@link MessageType }
+ */
+ public void setMessageType(MessageType value) {
+ this.messageType = value;
+ }
+
+ /**
+ * Gets the value of the serviceID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getServiceID() {
+ return serviceID;
+ }
+
+ /**
+ * Sets the value of the serviceID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setServiceID(String value) {
+ this.serviceID = value;
+ }
+
+ /**
+ * Gets the value of the deviceID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getDeviceID() {
+ return deviceID;
+ }
+
+ /**
+ * Sets the value of the deviceID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setDeviceID(String value) {
+ this.deviceID = value;
+ }
+
+ /**
+ * Gets the value of the saleID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getSaleID() {
+ return saleID;
+ }
+
+ /**
+ * Sets the value of the saleID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setSaleID(String value) {
+ this.saleID = value;
+ }
+
+ /**
+ * Gets the value of the poiid property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPOIID() {
+ return poiid;
+ }
+
+ /**
+ * Sets the value of the poiid property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPOIID(String value) {
+ this.poiid = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/MessageReference.java b/src/main/java/com/adyen/model/nexo/MessageReference.java
new file mode 100644
index 000000000..2a59ae769
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/MessageReference.java
@@ -0,0 +1,157 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Identification of a previous POI transaction. -- Usage: To abort a transaction in progress or to request the status of a transaction from which no response has been received. It identifies the messageType header of the messageType request to abort or request the status. The Abort or TransactionStatus
+ *
+ * Java class for MessageReference complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="MessageReference">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="MessageCategory" type="{}MessageCategoryType" />
+ * <attribute name="ServiceID" type="{}ServiceID" />
+ * <attribute name="DeviceID" type="{}DeviceID" />
+ * <attribute name="SaleID" type="{}SaleID" />
+ * <attribute name="POIID" type="{}POIID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MessageReference")
+public class MessageReference {
+
+ /**
+ * The Message category.
+ */
+ @XmlElement(name = "MessageCategory")
+ @Schema(description = "Category of message. --Rule: Payment, Loyalty, StoredValue, CardAcquisition, Batch, Reconciliation, Display, Input, Print, CardReaderAPDU,")
+ protected MessageCategoryType messageCategory;
+ /**
+ * The Service id.
+ */
+ @XmlElement(name = "ServiceID")
+ @Schema(description = "Identification of a message pair, which processes a transaction")
+ protected String serviceID;
+ /**
+ * The Device id.
+ */
+ @XmlElement(name = "DeviceID")
+ @Schema(description = "Identification of a device message pair", minLength = 1, maxLength = 10)
+ protected String deviceID;
+ /**
+ * The Sale id.
+ */
+ @XmlElement(name = "SaleID")
+ @Schema(description = "Identification of a Sale System or a Sale Terminal for the Sale to POI protocol --Rule: default MessageHeader.SaleID")
+ protected String saleID;
+ /**
+ * The Poiid.
+ */
+ @XmlElement(name = "POIID")
+ @Schema(description = "Identification of a POI System or a POI Terminal for the Sale to POI protocol --Rule: default MessageHeader.POIID")
+ protected String poiid;
+
+ /**
+ * Gets the value of the messageCategory property.
+ *
+ * @return possible object is {@link MessageCategoryType }
+ */
+ public MessageCategoryType getMessageCategory() {
+ return messageCategory;
+ }
+
+ /**
+ * Sets the value of the messageCategory property.
+ *
+ * @param value allowed object is {@link MessageCategoryType }
+ */
+ public void setMessageCategory(MessageCategoryType value) {
+ this.messageCategory = value;
+ }
+
+ /**
+ * Gets the value of the serviceID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getServiceID() {
+ return serviceID;
+ }
+
+ /**
+ * Sets the value of the serviceID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setServiceID(String value) {
+ this.serviceID = value;
+ }
+
+ /**
+ * Gets the value of the deviceID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getDeviceID() {
+ return deviceID;
+ }
+
+ /**
+ * Sets the value of the deviceID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setDeviceID(String value) {
+ this.deviceID = value;
+ }
+
+ /**
+ * Gets the value of the saleID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getSaleID() {
+ return saleID;
+ }
+
+ /**
+ * Sets the value of the saleID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setSaleID(String value) {
+ this.saleID = value;
+ }
+
+ /**
+ * Gets the value of the poiid property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPOIID() {
+ return poiid;
+ }
+
+ /**
+ * Sets the value of the poiid property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPOIID(String value) {
+ this.poiid = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/MessageType.java b/src/main/java/com/adyen/model/nexo/MessageType.java
new file mode 100644
index 000000000..42cda9eb4
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/MessageType.java
@@ -0,0 +1,78 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for MessageType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="MessageType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Request"/>
+ * <enumeration value="Response"/>
+ * <enumeration value="Notification"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "MessageType")
+@XmlEnum
+public enum MessageType {
+
+
+ /**
+ * Request messageType that requires a response, except if the request messageType mentions explicitely that a response messageType is not expected.
+ */
+ @XmlEnumValue("Request")
+ @Schema(description = "Request message that requires a response, except if the request message mentions explicitely that a response message is not expected.")
+ REQUEST("Request"),
+
+ /**
+ * Response messageType, sent to answer to a request messageType.
+ */
+ @XmlEnumValue("Response")
+ @Schema(description = "Response message, sent to answer to a request message.")
+ RESPONSE("Response"),
+
+ /**
+ * Unsollicited notification messageType that does not require an answer.
+ */
+ @XmlEnumValue("Notification")
+ @Schema(description = "Unsollicited notification message that does not require an answer.")
+ NOTIFICATION("Notification");
+ private final String value;
+
+ MessageType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value message type.
+ *
+ * @param v the v
+ * @return the message type
+ */
+ public static MessageType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/MobileData.java b/src/main/java/com/adyen/model/nexo/MobileData.java
new file mode 100644
index 000000000..d393bb262
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/MobileData.java
@@ -0,0 +1,189 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Information related to the mobile for the payment transaction. -- Usage: Mobile phone is used as a payment instrument for the transaction.
+ *
+ * Java class for MobileData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="MobileData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MobileCountryCode" type="{}MobileCountryCode" minOccurs="0"/>
+ * <element name="Geolocation" type="{}Geolocation" minOccurs="0"/>
+ * <element name="ProtectedMobileData" type="{}ContentInformation" minOccurs="0"/>
+ * <element name="SensitiveMobileData" type="{}SensitiveMobileData" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="MobileNetworkCode" type="{}MobileNetworkCode" />
+ * <attribute name="MaskedMSISDN" type="{}MaskedMSISDN" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MobileData", propOrder = {
+ "mobileCountryCode",
+ "geolocation",
+ "protectedMobileData",
+ "sensitiveMobileData"
+})
+public class MobileData {
+
+ /**
+ * The Mobile country code.
+ */
+ @XmlElement(name = "MobileCountryCode")
+ @Schema(description = "Identifies the country of a mobile phone operator. --Rule: If data available", minLength = 3, maxLength = 3)
+ protected String mobileCountryCode;
+ /**
+ * The Geolocation.
+ */
+ @XmlElement(name = "Geolocation")
+ @Schema(description = "Geographic location specified by geographic or UTM coordinates. --Rule: If data available")
+ protected Geolocation geolocation;
+ /**
+ * The Protected mobile data.
+ */
+ @XmlElement(name = "ProtectedMobileData")
+ @Schema(description = "Sensitive information related to the mobile phone, protected by CMS. --Rule: SensitiveMobileData")
+ protected ContentInformation protectedMobileData;
+ /**
+ * The Sensitive mobile data.
+ */
+ @XmlElement(name = "SensitiveMobileData")
+ @Schema(description = "Sensitive information related to the mobile phone. --Rule: If unprotected mobile data")
+ protected SensitiveMobileData sensitiveMobileData;
+ /**
+ * The Mobile network code.
+ */
+ @XmlElement(name = "MobileNetworkCode")
+ @Schema(description = "Identifies the mobile phone operator inside a country. --Rule: If data available", minLength = 2, maxLength = 3)
+ protected String mobileNetworkCode;
+ /**
+ * The Masked msisdn.
+ */
+ @XmlElement(name = "MaskedMSISDN")
+ @Schema(description = "Masked Mobile Subscriber Integrated Service Digital Network. --Rule: If data available")
+ protected String maskedMSISDN;
+
+ /**
+ * Gets the value of the mobileCountryCode property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getMobileCountryCode() {
+ return mobileCountryCode;
+ }
+
+ /**
+ * Sets the value of the mobileCountryCode property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setMobileCountryCode(String value) {
+ this.mobileCountryCode = value;
+ }
+
+ /**
+ * Gets the value of the geolocation property.
+ *
+ * @return possible object is {@link Geolocation }
+ */
+ public Geolocation getGeolocation() {
+ return geolocation;
+ }
+
+ /**
+ * Sets the value of the geolocation property.
+ *
+ * @param value allowed object is {@link Geolocation }
+ */
+ public void setGeolocation(Geolocation value) {
+ this.geolocation = value;
+ }
+
+ /**
+ * Gets the value of the protectedMobileData property.
+ *
+ * @return possible object is {@link ContentInformation }
+ */
+ public ContentInformation getProtectedMobileData() {
+ return protectedMobileData;
+ }
+
+ /**
+ * Sets the value of the protectedMobileData property.
+ *
+ * @param value allowed object is {@link ContentInformation }
+ */
+ public void setProtectedMobileData(ContentInformation value) {
+ this.protectedMobileData = value;
+ }
+
+ /**
+ * Gets the value of the sensitiveMobileData property.
+ *
+ * @return possible object is {@link SensitiveMobileData }
+ */
+ public SensitiveMobileData getSensitiveMobileData() {
+ return sensitiveMobileData;
+ }
+
+ /**
+ * Sets the value of the sensitiveMobileData property.
+ *
+ * @param value allowed object is {@link SensitiveMobileData }
+ */
+ public void setSensitiveMobileData(SensitiveMobileData value) {
+ this.sensitiveMobileData = value;
+ }
+
+ /**
+ * Gets the value of the mobileNetworkCode property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getMobileNetworkCode() {
+ return mobileNetworkCode;
+ }
+
+ /**
+ * Sets the value of the mobileNetworkCode property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setMobileNetworkCode(String value) {
+ this.mobileNetworkCode = value;
+ }
+
+ /**
+ * Gets the value of the maskedMSISDN property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getMaskedMSISDN() {
+ return maskedMSISDN;
+ }
+
+ /**
+ * Sets the value of the maskedMSISDN property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setMaskedMSISDN(String value) {
+ this.maskedMSISDN = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/NamedKeyEncryptedData.java b/src/main/java/com/adyen/model/nexo/NamedKeyEncryptedData.java
new file mode 100644
index 000000000..4bf05fabe
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/NamedKeyEncryptedData.java
@@ -0,0 +1,111 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Cryptographic Message Syntax (CMS) data structure containing encrypted data and integrated optional data filed keyName. -- Reference: RFC 3852: Cryptographic Message Syntax (CMS) -- Usage: This data structure contains: the version of the data structure (which is v0 in EPAS protocol context) the keyName the encrypred content info including the encrypted data
+ *
+ * Java class for NamedKeyEncryptedData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="NamedKeyEncryptedData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="KeyName" type="{}KeyName" minOccurs="0"/>
+ * <element name="EncryptedContent" type="{}EncryptedContent"/>
+ * </sequence>
+ * <attribute name="Version" type="{}VersionType" default="v0" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "NamedKeyEncryptedData", propOrder = {
+ "keyName",
+ "encryptedContent"
+})
+public class NamedKeyEncryptedData {
+
+ /**
+ * The Key name.
+ */
+ @XmlElement(name = "KeyName")
+ protected String keyName;
+ /**
+ * The Encrypted content.
+ */
+ @XmlElement(name = "EncryptedContent", required = true)
+ protected EncryptedContent encryptedContent;
+ /**
+ * The Version.
+ */
+ @XmlElement(name = "Version")
+ protected VersionType version;
+
+ /**
+ * Gets the value of the keyName property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getKeyName() {
+ return keyName;
+ }
+
+ /**
+ * Sets the value of the keyName property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setKeyName(String value) {
+ this.keyName = value;
+ }
+
+ /**
+ * Gets the value of the encryptedContent property.
+ *
+ * @return possible object is {@link EncryptedContent }
+ */
+ public EncryptedContent getEncryptedContent() {
+ return encryptedContent;
+ }
+
+ /**
+ * Sets the value of the encryptedContent property.
+ *
+ * @param value allowed object is {@link EncryptedContent }
+ */
+ public void setEncryptedContent(EncryptedContent value) {
+ this.encryptedContent = value;
+ }
+
+ /**
+ * Gets the value of the version property.
+ *
+ * @return possible object is {@link VersionType }
+ */
+ public VersionType getVersion() {
+ if (version == null) {
+ return VersionType.V_0;
+ } else {
+ return version;
+ }
+ }
+
+ /**
+ * Sets the value of the version property.
+ *
+ * @param value allowed object is {@link VersionType }
+ */
+ public void setVersion(VersionType value) {
+ this.version = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/ObjectFactory.java b/src/main/java/com/adyen/model/nexo/ObjectFactory.java
new file mode 100644
index 000000000..b88e9c329
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/ObjectFactory.java
@@ -0,0 +1,1449 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlRegistry;
+
+
+/**
+ * The type Object factory.
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: com.adyen.model.nexo
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create sale to poi request sale to poi request.
+ *
+ * @return the sale to poi request
+ */
+ public SaleToPOIRequest createSaleToPOIRequest() {
+ return new SaleToPOIRequest();
+ }
+
+ /**
+ * Create an instance of {@link MessageHeader }
+ *
+ * @return the message header
+ */
+ public MessageHeader createMessageHeader() {
+ return new MessageHeader();
+ }
+
+ /**
+ * Create an instance of {@link AbortRequest }
+ *
+ * @return the abort request
+ */
+ public AbortRequest createAbortRequest() {
+ return new AbortRequest();
+ }
+
+ /**
+ * Create an instance of {@link BalanceInquiryRequest }
+ *
+ * @return the balance inquiry request
+ */
+ public BalanceInquiryRequest createBalanceInquiryRequest() {
+ return new BalanceInquiryRequest();
+ }
+
+ /**
+ * Create an instance of {@link BatchRequest }
+ *
+ * @return the batch request
+ */
+ public BatchRequest createBatchRequest() {
+ return new BatchRequest();
+ }
+
+ /**
+ * Create an instance of {@link CardAcquisitionRequest }
+ *
+ * @return the card acquisition request
+ */
+ public CardAcquisitionRequest createCardAcquisitionRequest() {
+ return new CardAcquisitionRequest();
+ }
+
+ /**
+ * Create an instance of {@link AdminRequest }
+ *
+ * @return the admin request
+ */
+ public AdminRequest createAdminRequest() {
+ return new AdminRequest();
+ }
+
+ /**
+ * Create an instance of {@link DiagnosisRequest }
+ *
+ * @return the diagnosis request
+ */
+ public DiagnosisRequest createDiagnosisRequest() {
+ return new DiagnosisRequest();
+ }
+
+ /**
+ * Create an instance of {@link DisplayRequest }
+ *
+ * @return the display request
+ */
+ public DisplayRequest createDisplayRequest() {
+ return new DisplayRequest();
+ }
+
+ /**
+ * Create an instance of {@link EnableServiceRequest }
+ *
+ * @return the enable service request
+ */
+ public EnableServiceRequest createEnableServiceRequest() {
+ return new EnableServiceRequest();
+ }
+
+ /**
+ * Create an instance of {@link EventNotification }
+ *
+ * @return the event notification
+ */
+ public EventNotification createEventNotification() {
+ return new EventNotification();
+ }
+
+ /**
+ * Create an instance of {@link GetTotalsRequest }
+ *
+ * @return the get totals request
+ */
+ public GetTotalsRequest createGetTotalsRequest() {
+ return new GetTotalsRequest();
+ }
+
+ /**
+ * Create an instance of {@link InputRequest }
+ *
+ * @return the input request
+ */
+ public InputRequest createInputRequest() {
+ return new InputRequest();
+ }
+
+ /**
+ * Create an instance of {@link InputUpdate }
+ *
+ * @return the input update
+ */
+ public InputUpdate createInputUpdate() {
+ return new InputUpdate();
+ }
+
+ /**
+ * Create an instance of {@link LoginRequest }
+ *
+ * @return the login request
+ */
+ public LoginRequest createLoginRequest() {
+ return new LoginRequest();
+ }
+
+ /**
+ * Create an instance of {@link LogoutRequest }
+ *
+ * @return the logout request
+ */
+ public LogoutRequest createLogoutRequest() {
+ return new LogoutRequest();
+ }
+
+ /**
+ * Create an instance of {@link LoyaltyRequest }
+ *
+ * @return the loyalty request
+ */
+ public LoyaltyRequest createLoyaltyRequest() {
+ return new LoyaltyRequest();
+ }
+
+ /**
+ * Create an instance of {@link PaymentRequest }
+ *
+ * @return the payment request
+ */
+ public PaymentRequest createPaymentRequest() {
+ return new PaymentRequest();
+ }
+
+ /**
+ * Create an instance of {@link PINRequest }
+ *
+ * @return the pin request
+ */
+ public PINRequest createPINRequest() {
+ return new PINRequest();
+ }
+
+ /**
+ * Create an instance of {@link PrintRequest }
+ *
+ * @return the print request
+ */
+ public PrintRequest createPrintRequest() {
+ return new PrintRequest();
+ }
+
+ /**
+ * Create an instance of {@link CardReaderInitRequest }
+ *
+ * @return the card reader init request
+ */
+ public CardReaderInitRequest createCardReaderInitRequest() {
+ return new CardReaderInitRequest();
+ }
+
+ /**
+ * Create an instance of {@link CardReaderAPDURequest }
+ *
+ * @return the card reader apdu request
+ */
+ public CardReaderAPDURequest createCardReaderAPDURequest() {
+ return new CardReaderAPDURequest();
+ }
+
+ /**
+ * Create an instance of {@link CardReaderPowerOffRequest }
+ *
+ * @return the card reader power off request
+ */
+ public CardReaderPowerOffRequest createCardReaderPowerOffRequest() {
+ return new CardReaderPowerOffRequest();
+ }
+
+ /**
+ * Create an instance of {@link ReconciliationRequest }
+ *
+ * @return the reconciliation request
+ */
+ public ReconciliationRequest createReconciliationRequest() {
+ return new ReconciliationRequest();
+ }
+
+ /**
+ * Create an instance of {@link ReversalRequest }
+ *
+ * @return the reversal request
+ */
+ public ReversalRequest createReversalRequest() {
+ return new ReversalRequest();
+ }
+
+ /**
+ * Create an instance of {@link SoundRequest }
+ *
+ * @return the sound request
+ */
+ public SoundRequest createSoundRequest() {
+ return new SoundRequest();
+ }
+
+ /**
+ * Create an instance of {@link StoredValueRequest }
+ *
+ * @return the stored value request
+ */
+ public StoredValueRequest createStoredValueRequest() {
+ return new StoredValueRequest();
+ }
+
+ /**
+ * Create an instance of {@link TransactionStatusRequest }
+ *
+ * @return the transaction status request
+ */
+ public TransactionStatusRequest createTransactionStatusRequest() {
+ return new TransactionStatusRequest();
+ }
+
+ /**
+ * Create an instance of {@link TransmitRequest }
+ *
+ * @return the transmit request
+ */
+ public TransmitRequest createTransmitRequest() {
+ return new TransmitRequest();
+ }
+
+ /**
+ * Create an instance of {@link ContentInformation }
+ *
+ * @return the content information
+ */
+ public ContentInformation createContentInformation() {
+ return new ContentInformation();
+ }
+
+ /**
+ * Create an instance of {@link SaleToPOIResponse }
+ *
+ * @return the sale to poi response
+ */
+ public SaleToPOIResponse createSaleToPOIResponse() {
+ return new SaleToPOIResponse();
+ }
+
+ /**
+ * Create an instance of {@link BalanceInquiryResponse }
+ *
+ * @return the balance inquiry response
+ */
+ public BalanceInquiryResponse createBalanceInquiryResponse() {
+ return new BalanceInquiryResponse();
+ }
+
+ /**
+ * Create an instance of {@link BatchResponse }
+ *
+ * @return the batch response
+ */
+ public BatchResponse createBatchResponse() {
+ return new BatchResponse();
+ }
+
+ /**
+ * Create an instance of {@link CardAcquisitionResponse }
+ *
+ * @return the card acquisition response
+ */
+ public CardAcquisitionResponse createCardAcquisitionResponse() {
+ return new CardAcquisitionResponse();
+ }
+
+ /**
+ * Create an instance of {@link AdminResponse }
+ *
+ * @return the admin response
+ */
+ public AdminResponse createAdminResponse() {
+ return new AdminResponse();
+ }
+
+ /**
+ * Create an instance of {@link DiagnosisResponse }
+ *
+ * @return the diagnosis response
+ */
+ public DiagnosisResponse createDiagnosisResponse() {
+ return new DiagnosisResponse();
+ }
+
+ /**
+ * Create an instance of {@link DisplayResponse }
+ *
+ * @return the display response
+ */
+ public DisplayResponse createDisplayResponse() {
+ return new DisplayResponse();
+ }
+
+ /**
+ * Create an instance of {@link EnableServiceResponse }
+ *
+ * @return the enable service response
+ */
+ public EnableServiceResponse createEnableServiceResponse() {
+ return new EnableServiceResponse();
+ }
+
+ /**
+ * Create an instance of {@link GetTotalsResponse }
+ *
+ * @return the get totals response
+ */
+ public GetTotalsResponse createGetTotalsResponse() {
+ return new GetTotalsResponse();
+ }
+
+ /**
+ * Create an instance of {@link InputResponse }
+ *
+ * @return the input response
+ */
+ public InputResponse createInputResponse() {
+ return new InputResponse();
+ }
+
+ /**
+ * Create an instance of {@link LoginResponse }
+ *
+ * @return the login response
+ */
+ public LoginResponse createLoginResponse() {
+ return new LoginResponse();
+ }
+
+ /**
+ * Create an instance of {@link LogoutResponse }
+ *
+ * @return the logout response
+ */
+ public LogoutResponse createLogoutResponse() {
+ return new LogoutResponse();
+ }
+
+ /**
+ * Create an instance of {@link LoyaltyResponse }
+ *
+ * @return the loyalty response
+ */
+ public LoyaltyResponse createLoyaltyResponse() {
+ return new LoyaltyResponse();
+ }
+
+ /**
+ * Create an instance of {@link PaymentResponse }
+ *
+ * @return the payment response
+ */
+ public PaymentResponse createPaymentResponse() {
+ return new PaymentResponse();
+ }
+
+ /**
+ * Create an instance of {@link PINResponse }
+ *
+ * @return the pin response
+ */
+ public PINResponse createPINResponse() {
+ return new PINResponse();
+ }
+
+ /**
+ * Create an instance of {@link PrintResponse }
+ *
+ * @return the print response
+ */
+ public PrintResponse createPrintResponse() {
+ return new PrintResponse();
+ }
+
+ /**
+ * Create an instance of {@link CardReaderInitResponse }
+ *
+ * @return the card reader init response
+ */
+ public CardReaderInitResponse createCardReaderInitResponse() {
+ return new CardReaderInitResponse();
+ }
+
+ /**
+ * Create an instance of {@link CardReaderAPDUResponse }
+ *
+ * @return the card reader apdu response
+ */
+ public CardReaderAPDUResponse createCardReaderAPDUResponse() {
+ return new CardReaderAPDUResponse();
+ }
+
+ /**
+ * Create an instance of {@link CardReaderPowerOffResponse }
+ *
+ * @return the card reader power off response
+ */
+ public CardReaderPowerOffResponse createCardReaderPowerOffResponse() {
+ return new CardReaderPowerOffResponse();
+ }
+
+ /**
+ * Create an instance of {@link ReconciliationResponse }
+ *
+ * @return the reconciliation response
+ */
+ public ReconciliationResponse createReconciliationResponse() {
+ return new ReconciliationResponse();
+ }
+
+ /**
+ * Create an instance of {@link ReversalResponse }
+ *
+ * @return the reversal response
+ */
+ public ReversalResponse createReversalResponse() {
+ return new ReversalResponse();
+ }
+
+ /**
+ * Create an instance of {@link SoundResponse }
+ *
+ * @return the sound response
+ */
+ public SoundResponse createSoundResponse() {
+ return new SoundResponse();
+ }
+
+ /**
+ * Create an instance of {@link StoredValueResponse }
+ *
+ * @return the stored value response
+ */
+ public StoredValueResponse createStoredValueResponse() {
+ return new StoredValueResponse();
+ }
+
+ /**
+ * Create an instance of {@link TransactionStatusResponse }
+ *
+ * @return the transaction status response
+ */
+ public TransactionStatusResponse createTransactionStatusResponse() {
+ return new TransactionStatusResponse();
+ }
+
+ /**
+ * Create an instance of {@link TransmitResponse }
+ *
+ * @return the transmit response
+ */
+ public TransmitResponse createTransmitResponse() {
+ return new TransmitResponse();
+ }
+
+ /**
+ * Create an instance of {@link PaymentReceipt }
+ *
+ * @return the payment receipt
+ */
+ public PaymentReceipt createPaymentReceipt() {
+ return new PaymentReceipt();
+ }
+
+ /**
+ * Create an instance of {@link POITerminalData }
+ *
+ * @return the poi terminal data
+ */
+ public POITerminalData createPOITerminalData() {
+ return new POITerminalData();
+ }
+
+ /**
+ * Create an instance of {@link POIProfile }
+ *
+ * @return the poi profile
+ */
+ public POIProfile createPOIProfile() {
+ return new POIProfile();
+ }
+
+ /**
+ * Create an instance of {@link SaleToIssuerData }
+ *
+ * @return the sale to issuer data
+ */
+ public SaleToIssuerData createSaleToIssuerData() {
+ return new SaleToIssuerData();
+ }
+
+ /**
+ * Create an instance of {@link SoundContent }
+ *
+ * @return the sound content
+ */
+ public SoundContent createSoundContent() {
+ return new SoundContent();
+ }
+
+ /**
+ * Create an instance of {@link PaymentAcquirerData }
+ *
+ * @return the payment acquirer data
+ */
+ public PaymentAcquirerData createPaymentAcquirerData() {
+ return new PaymentAcquirerData();
+ }
+
+ /**
+ * Create an instance of {@link SaleProfile }
+ *
+ * @return the sale profile
+ */
+ public SaleProfile createSaleProfile() {
+ return new SaleProfile();
+ }
+
+ /**
+ * Create an instance of {@link PaymentToken }
+ *
+ * @return the payment token
+ */
+ public PaymentToken createPaymentToken() {
+ return new PaymentToken();
+ }
+
+ /**
+ * Create an instance of {@link LoyaltyAccountID }
+ *
+ * @return the loyalty account id
+ */
+ public LoyaltyAccountID createLoyaltyAccountID() {
+ return new LoyaltyAccountID();
+ }
+
+ /**
+ * Create an instance of {@link PaymentInstrumentData }
+ *
+ * @return the payment instrument data
+ */
+ public PaymentInstrumentData createPaymentInstrumentData() {
+ return new PaymentInstrumentData();
+ }
+
+ /**
+ * Create an instance of {@link Parameter }
+ *
+ * @return the parameter
+ */
+ public Parameter createParameter() {
+ return new Parameter();
+ }
+
+ /**
+ * Create an instance of {@link EnvelopedData }
+ *
+ * @return the enveloped data
+ */
+ public EnvelopedData createEnvelopedData() {
+ return new EnvelopedData();
+ }
+
+ /**
+ * Create an instance of {@link SignerIdentifier }
+ *
+ * @return the signer identifier
+ */
+ public SignerIdentifier createSignerIdentifier() {
+ return new SignerIdentifier();
+ }
+
+ /**
+ * Create an instance of {@link MessageReference }
+ *
+ * @return the message reference
+ */
+ public MessageReference createMessageReference() {
+ return new MessageReference();
+ }
+
+ /**
+ * Create an instance of {@link PaymentAccountStatus }
+ *
+ * @return the payment account status
+ */
+ public PaymentAccountStatus createPaymentAccountStatus() {
+ return new PaymentAccountStatus();
+ }
+
+ /**
+ * Create an instance of {@link IssuerAndSerialNumber }
+ *
+ * @return the issuer and serial number
+ */
+ public IssuerAndSerialNumber createIssuerAndSerialNumber() {
+ return new IssuerAndSerialNumber();
+ }
+
+ /**
+ * Create an instance of {@link StoredValueAccountID }
+ *
+ * @return the stored value account id
+ */
+ public StoredValueAccountID createStoredValueAccountID() {
+ return new StoredValueAccountID();
+ }
+
+ /**
+ * Create an instance of {@link Signer }
+ *
+ * @return the signer
+ */
+ public Signer createSigner() {
+ return new Signer();
+ }
+
+ /**
+ * Create an instance of {@link TransactionConditions }
+ *
+ * @return the transaction conditions
+ */
+ public TransactionConditions createTransactionConditions() {
+ return new TransactionConditions();
+ }
+
+ /**
+ * Create an instance of {@link EncryptedContent }
+ *
+ * @return the encrypted content
+ */
+ public EncryptedContent createEncryptedContent() {
+ return new EncryptedContent();
+ }
+
+ /**
+ * Create an instance of {@link OriginalPOITransaction }
+ *
+ * @return the original poi transaction
+ */
+ public OriginalPOITransaction createOriginalPOITransaction() {
+ return new OriginalPOITransaction();
+ }
+
+ /**
+ * Create an instance of {@link AlgorithmIdentifier }
+ *
+ * @return the algorithm identifier
+ */
+ public AlgorithmIdentifier createAlgorithmIdentifier() {
+ return new AlgorithmIdentifier();
+ }
+
+ /**
+ * Create an instance of {@link RecipientIdentifier }
+ *
+ * @return the recipient identifier
+ */
+ public RecipientIdentifier createRecipientIdentifier() {
+ return new RecipientIdentifier();
+ }
+
+ /**
+ * Create an instance of {@link PaymentData }
+ *
+ * @return the payment data
+ */
+ public PaymentData createPaymentData() {
+ return new PaymentData();
+ }
+
+ /**
+ * Create an instance of {@link KEKIdentifier }
+ *
+ * @return the kek identifier
+ */
+ public KEKIdentifier createKEKIdentifier() {
+ return new KEKIdentifier();
+ }
+
+ /**
+ * Create an instance of {@link PrintOutput }
+ *
+ * @return the print output
+ */
+ public PrintOutput createPrintOutput() {
+ return new PrintOutput();
+ }
+
+ /**
+ * Create an instance of {@link AmountsResp }
+ *
+ * @return the amounts resp
+ */
+ public AmountsResp createAmountsResp() {
+ return new AmountsResp();
+ }
+
+ /**
+ * Create an instance of {@link LoyaltyAccountStatus }
+ *
+ * @return the loyalty account status
+ */
+ public LoyaltyAccountStatus createLoyaltyAccountStatus() {
+ return new LoyaltyAccountStatus();
+ }
+
+ /**
+ * Create an instance of {@link TransactionToPerform }
+ *
+ * @return the transaction to perform
+ */
+ public TransactionToPerform createTransactionToPerform() {
+ return new TransactionToPerform();
+ }
+
+ /**
+ * Create an instance of {@link MenuEntry }
+ *
+ * @return the menu entry
+ */
+ public MenuEntry createMenuEntry() {
+ return new MenuEntry();
+ }
+
+ /**
+ * Create an instance of {@link DisplayOutput }
+ *
+ * @return the display output
+ */
+ public DisplayOutput createDisplayOutput() {
+ return new DisplayOutput();
+ }
+
+ /**
+ * Create an instance of {@link SignedData }
+ *
+ * @return the signed data
+ */
+ public SignedData createSignedData() {
+ return new SignedData();
+ }
+
+ /**
+ * Create an instance of {@link Amount }
+ *
+ * @return the amount
+ */
+ public Amount createAmount() {
+ return new Amount();
+ }
+
+ /**
+ * Create an instance of {@link PaymentTotals }
+ *
+ * @return the payment totals
+ */
+ public PaymentTotals createPaymentTotals() {
+ return new PaymentTotals();
+ }
+
+ /**
+ * Create an instance of {@link CurrencyConversion }
+ *
+ * @return the currency conversion
+ */
+ public CurrencyConversion createCurrencyConversion() {
+ return new CurrencyConversion();
+ }
+
+ /**
+ * Create an instance of {@link SensitiveMobileData }
+ *
+ * @return the sensitive mobile data
+ */
+ public SensitiveMobileData createSensitiveMobileData() {
+ return new SensitiveMobileData();
+ }
+
+ /**
+ * Create an instance of {@link Instalment }
+ *
+ * @return the instalment
+ */
+ public Instalment createInstalment() {
+ return new Instalment();
+ }
+
+ /**
+ * Create an instance of {@link LoyaltyAccount }
+ *
+ * @return the loyalty account
+ */
+ public LoyaltyAccount createLoyaltyAccount() {
+ return new LoyaltyAccount();
+ }
+
+ /**
+ * Create an instance of {@link TrackData }
+ *
+ * @return the track data
+ */
+ public TrackData createTrackData() {
+ return new TrackData();
+ }
+
+ /**
+ * Create an instance of {@link PaymentAccountReq }
+ *
+ * @return the payment account req
+ */
+ public PaymentAccountReq createPaymentAccountReq() {
+ return new PaymentAccountReq();
+ }
+
+ /**
+ * Create an instance of {@link GeographicCoordinates }
+ *
+ * @return the geographic coordinates
+ */
+ public GeographicCoordinates createGeographicCoordinates() {
+ return new GeographicCoordinates();
+ }
+
+ /**
+ * Create an instance of {@link LoyaltyResult }
+ *
+ * @return the loyalty result
+ */
+ public LoyaltyResult createLoyaltyResult() {
+ return new LoyaltyResult();
+ }
+
+ /**
+ * Create an instance of {@link CardData }
+ *
+ * @return the card data
+ */
+ public CardData createCardData() {
+ return new CardData();
+ }
+
+ /**
+ * Create an instance of {@link LoyaltyAmount }
+ *
+ * @return the loyalty amount
+ */
+ public LoyaltyAmount createLoyaltyAmount() {
+ return new LoyaltyAmount();
+ }
+
+ /**
+ * Create an instance of {@link SensitiveCardData }
+ *
+ * @return the sensitive card data
+ */
+ public SensitiveCardData createSensitiveCardData() {
+ return new SensitiveCardData();
+ }
+
+ /**
+ * Create an instance of {@link Issuer }
+ *
+ * @return the issuer
+ */
+ public Issuer createIssuer() {
+ return new Issuer();
+ }
+
+ /**
+ * Create an instance of {@link NamedKeyEncryptedData }
+ *
+ * @return the named key encrypted data
+ */
+ public NamedKeyEncryptedData createNamedKeyEncryptedData() {
+ return new NamedKeyEncryptedData();
+ }
+
+ /**
+ * Create an instance of {@link POISoftware }
+ *
+ * @return the poi software
+ */
+ public POISoftware createPOISoftware() {
+ return new POISoftware();
+ }
+
+ /**
+ * Create an instance of {@link PerformedTransaction }
+ *
+ * @return the performed transaction
+ */
+ public PerformedTransaction createPerformedTransaction() {
+ return new PerformedTransaction();
+ }
+
+ /**
+ * Create an instance of {@link ICCResetData }
+ *
+ * @return the icc reset data
+ */
+ public ICCResetData createICCResetData() {
+ return new ICCResetData();
+ }
+
+ /**
+ * Create an instance of {@link CardholderPIN }
+ *
+ * @return the cardholder pin
+ */
+ public CardholderPIN createCardholderPIN() {
+ return new CardholderPIN();
+ }
+
+ /**
+ * Create an instance of {@link StoredValueResult }
+ *
+ * @return the stored value result
+ */
+ public StoredValueResult createStoredValueResult() {
+ return new StoredValueResult();
+ }
+
+ /**
+ * Create an instance of {@link POIData }
+ *
+ * @return the poi data
+ */
+ public POIData createPOIData() {
+ return new POIData();
+ }
+
+ /**
+ * Create an instance of {@link KEK }
+ *
+ * @return the kek
+ */
+ public KEK createKEK() {
+ return new KEK();
+ }
+
+ /**
+ * Create an instance of {@link DigestedData }
+ *
+ * @return the digested data
+ */
+ public DigestedData createDigestedData() {
+ return new DigestedData();
+ }
+
+ /**
+ * Create an instance of {@link SignaturePoint }
+ *
+ * @return the signature point
+ */
+ public SignaturePoint createSignaturePoint() {
+ return new SignaturePoint();
+ }
+
+ /**
+ * Create an instance of {@link AmountsReq }
+ *
+ * @return the amounts req
+ */
+ public AmountsReq createAmountsReq() {
+ return new AmountsReq();
+ }
+
+ /**
+ * Create an instance of {@link TransactionTotals }
+ *
+ * @return the transaction totals
+ */
+ public TransactionTotals createTransactionTotals() {
+ return new TransactionTotals();
+ }
+
+ /**
+ * Create an instance of {@link RepeatedMessageResponse }
+ *
+ * @return the repeated message response
+ */
+ public RepeatedMessageResponse createRepeatedMessageResponse() {
+ return new RepeatedMessageResponse();
+ }
+
+ /**
+ * Create an instance of {@link SponsoredMerchant }
+ *
+ * @return the sponsored merchant
+ */
+ public SponsoredMerchant createSponsoredMerchant() {
+ return new SponsoredMerchant();
+ }
+
+ /**
+ * Create an instance of {@link UTMCoordinates }
+ *
+ * @return the utm coordinates
+ */
+ public UTMCoordinates createUTMCoordinates() {
+ return new UTMCoordinates();
+ }
+
+ /**
+ * Create an instance of {@link Geolocation }
+ *
+ * @return the geolocation
+ */
+ public Geolocation createGeolocation() {
+ return new Geolocation();
+ }
+
+ /**
+ * Create an instance of {@link SaleSoftware }
+ *
+ * @return the sale software
+ */
+ public SaleSoftware createSaleSoftware() {
+ return new SaleSoftware();
+ }
+
+ /**
+ * Create an instance of {@link LoyaltyData }
+ *
+ * @return the loyalty data
+ */
+ public LoyaltyData createLoyaltyData() {
+ return new LoyaltyData();
+ }
+
+ /**
+ * Create an instance of {@link Rebates }
+ *
+ * @return the rebates
+ */
+ public Rebates createRebates() {
+ return new Rebates();
+ }
+
+ /**
+ * Create an instance of {@link InputResult }
+ *
+ * @return the input result
+ */
+ public InputResult createInputResult() {
+ return new InputResult();
+ }
+
+ /**
+ * Create an instance of {@link AreaSize }
+ *
+ * @return the area size
+ */
+ public AreaSize createAreaSize() {
+ return new AreaSize();
+ }
+
+ /**
+ * Create an instance of {@link CapturedSignature }
+ *
+ * @return the captured signature
+ */
+ public CapturedSignature createCapturedSignature() {
+ return new CapturedSignature();
+ }
+
+ /**
+ * Create an instance of {@link LoyaltyAccountReq }
+ *
+ * @return the loyalty account req
+ */
+ public LoyaltyAccountReq createLoyaltyAccountReq() {
+ return new LoyaltyAccountReq();
+ }
+
+ /**
+ * Create an instance of {@link AllowedProduct }
+ *
+ * @return the allowed product
+ */
+ public AllowedProduct createAllowedProduct() {
+ return new AllowedProduct();
+ }
+
+ /**
+ * Create an instance of {@link HostStatus }
+ *
+ * @return the host status
+ */
+ public HostStatus createHostStatus() {
+ return new HostStatus();
+ }
+
+ /**
+ * Create an instance of {@link RelativeDistinguishedName }
+ *
+ * @return the relative distinguished name
+ */
+ public RelativeDistinguishedName createRelativeDistinguishedName() {
+ return new RelativeDistinguishedName();
+ }
+
+ /**
+ * Create an instance of {@link POIStatus }
+ *
+ * @return the poi status
+ */
+ public POIStatus createPOIStatus() {
+ return new POIStatus();
+ }
+
+ /**
+ * Create an instance of {@link TransactionIdentification }
+ *
+ * @return the transaction identification
+ */
+ public TransactionIdentification createTransactionIdentification() {
+ return new TransactionIdentification();
+ }
+
+ /**
+ * Create an instance of {@link CustomerOrder }
+ *
+ * @return the customer order
+ */
+ public CustomerOrder createCustomerOrder() {
+ return new CustomerOrder();
+ }
+
+ /**
+ * Create an instance of {@link StoredValueData }
+ *
+ * @return the stored value data
+ */
+ public StoredValueData createStoredValueData() {
+ return new StoredValueData();
+ }
+
+ /**
+ * Create an instance of {@link OutputText }
+ *
+ * @return the output text
+ */
+ public OutputText createOutputText() {
+ return new OutputText();
+ }
+
+ /**
+ * Create an instance of {@link OutputBarcode }
+ *
+ * @return the output barcode
+ */
+ public OutputBarcode createOutputBarcode() {
+ return new OutputBarcode();
+ }
+
+ /**
+ * Create an instance of {@link SaleItem }
+ *
+ * @return the sale item
+ */
+ public SaleItem createSaleItem() {
+ return new SaleItem();
+ }
+
+ /**
+ * Create an instance of {@link LoyaltyTransaction }
+ *
+ * @return the loyalty transaction
+ */
+ public LoyaltyTransaction createLoyaltyTransaction() {
+ return new LoyaltyTransaction();
+ }
+
+ /**
+ * Create an instance of {@link LoyaltyAcquirerData }
+ *
+ * @return the loyalty acquirer data
+ */
+ public LoyaltyAcquirerData createLoyaltyAcquirerData() {
+ return new LoyaltyAcquirerData();
+ }
+
+ /**
+ * Create an instance of {@link StoredValueAccountStatus }
+ *
+ * @return the stored value account status
+ */
+ public StoredValueAccountStatus createStoredValueAccountStatus() {
+ return new StoredValueAccountStatus();
+ }
+
+ /**
+ * Create an instance of {@link LoyaltyTotals }
+ *
+ * @return the loyalty totals
+ */
+ public LoyaltyTotals createLoyaltyTotals() {
+ return new LoyaltyTotals();
+ }
+
+ /**
+ * Create an instance of {@link POISystemData }
+ *
+ * @return the poi system data
+ */
+ public POISystemData createPOISystemData() {
+ return new POISystemData();
+ }
+
+ /**
+ * Create an instance of {@link CardAcquisitionTransaction }
+ *
+ * @return the card acquisition transaction
+ */
+ public CardAcquisitionTransaction createCardAcquisitionTransaction() {
+ return new CardAcquisitionTransaction();
+ }
+
+ /**
+ * Create an instance of {@link CoinsOrBills }
+ *
+ * @return the coins or bills
+ */
+ public CoinsOrBills createCoinsOrBills() {
+ return new CoinsOrBills();
+ }
+
+ /**
+ * Create an instance of {@link InputData }
+ *
+ * @return the input data
+ */
+ public InputData createInputData() {
+ return new InputData();
+ }
+
+ /**
+ * Create an instance of {@link SaleItemRebate }
+ *
+ * @return the sale item rebate
+ */
+ public SaleItemRebate createSaleItemRebate() {
+ return new SaleItemRebate();
+ }
+
+ /**
+ * Create an instance of {@link AuthenticatedData }
+ *
+ * @return the authenticated data
+ */
+ public AuthenticatedData createAuthenticatedData() {
+ return new AuthenticatedData();
+ }
+
+ /**
+ * Create an instance of {@link TotalFilter }
+ *
+ * @return the total filter
+ */
+ public TotalFilter createTotalFilter() {
+ return new TotalFilter();
+ }
+
+ /**
+ * Create an instance of {@link SaleData }
+ *
+ * @return the sale data
+ */
+ public SaleData createSaleData() {
+ return new SaleData();
+ }
+
+ /**
+ * Create an instance of {@link PredefinedContent }
+ *
+ * @return the predefined content
+ */
+ public PredefinedContent createPredefinedContent() {
+ return new PredefinedContent();
+ }
+
+ /**
+ * Create an instance of {@link Input }
+ *
+ * @return the input
+ */
+ public Input createInput() {
+ return new Input();
+ }
+
+ /**
+ * Create an instance of {@link KeyTransport }
+ *
+ * @return the key transport
+ */
+ public KeyTransport createKeyTransport() {
+ return new KeyTransport();
+ }
+
+ /**
+ * Create an instance of {@link CheckData }
+ *
+ * @return the check data
+ */
+ public CheckData createCheckData() {
+ return new CheckData();
+ }
+
+ /**
+ * Create an instance of {@link SaleTerminalData }
+ *
+ * @return the sale terminal data
+ */
+ public SaleTerminalData createSaleTerminalData() {
+ return new SaleTerminalData();
+ }
+
+ /**
+ * Create an instance of {@link PaymentTransaction }
+ *
+ * @return the payment transaction
+ */
+ public PaymentTransaction createPaymentTransaction() {
+ return new PaymentTransaction();
+ }
+
+ /**
+ * Create an instance of {@link OutputContent }
+ *
+ * @return the output content
+ */
+ public OutputContent createOutputContent() {
+ return new OutputContent();
+ }
+
+ /**
+ * Create an instance of {@link PaymentResult }
+ *
+ * @return the payment result
+ */
+ public PaymentResult createPaymentResult() {
+ return new PaymentResult();
+ }
+
+ /**
+ * Create an instance of {@link MobileData }
+ *
+ * @return the mobile data
+ */
+ public MobileData createMobileData() {
+ return new MobileData();
+ }
+
+ /**
+ * Create an instance of {@link OutputResult }
+ *
+ * @return the output result
+ */
+ public OutputResult createOutputResult() {
+ return new OutputResult();
+ }
+
+ /**
+ * Create an instance of {@link CashHandlingDevice }
+ *
+ * @return the cash handling device
+ */
+ public CashHandlingDevice createCashHandlingDevice() {
+ return new CashHandlingDevice();
+ }
+
+ /**
+ * Create an instance of {@link Response }
+ *
+ * @return the response
+ */
+ public Response createResponse() {
+ return new Response();
+ }
+
+ /**
+ * Create an instance of {@link EncapsulatedContent }
+ *
+ * @return the encapsulated content
+ */
+ public EncapsulatedContent createEncapsulatedContent() {
+ return new EncapsulatedContent();
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/OriginalPOITransaction.java b/src/main/java/com/adyen/model/nexo/OriginalPOITransaction.java
new file mode 100644
index 000000000..d571bc6bc
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/OriginalPOITransaction.java
@@ -0,0 +1,242 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Identification of a previous POI transaction. -- Usage: In the Payment or the Loyalty Request messageType, it allows using the card of a previous CardAcquisition or Payment/Loyalty request. To reverse a Payment or the Loyalty transaction. By default, the reversal is requested from the same Sale
+ *
+ * Java class for OriginalPOITransaction complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="OriginalPOITransaction">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="POITransactionID" type="{}TransactionIdentification" minOccurs="0"/>
+ * <element name="ApprovalCode" type="{}ApprovalCode" minOccurs="0"/>
+ * <element name="HostTransactionID" type="{}TransactionIdentification" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="SaleID" type="{}SaleID" />
+ * <attribute name="POIID" type="{}POIID" />
+ * <attribute name="ReuseCardDataFlag" type="{}ReuseCardDataFlag" default="true" />
+ * <attribute name="CustomerLanguage" type="{}ISOLanguage2A" />
+ * <attribute name="AcquirerID" type="{}AcquirerID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "OriginalPOITransaction", propOrder = {
+ "poiTransactionID",
+ "approvalCode",
+ "hostTransactionID"
+})
+public class OriginalPOITransaction {
+
+ /**
+ * The Poi transaction id.
+ */
+ @XmlElement(name = "POITransactionID")
+ @Schema(description = "Unique identification of a POI transaction for a POI --Rule: Absent if SaleReferenceID is sufficient to identify the transaction, or for some reversal cases.")
+ protected TransactionIdentification poiTransactionID;
+ /**
+ * The Approval code.
+ */
+ @XmlElement(name = "ApprovalCode")
+ @Schema(description = "Code assigned to a transaction approval by the Acquirer. --Rule: If referral")
+ protected String approvalCode;
+ /**
+ * The Host transaction id.
+ */
+ @XmlElement(name = "HostTransactionID")
+ @Schema(description = "Identification of the transaction by the host in charge of the stored value transaction --Rule: If POITransactionID not present")
+ protected TransactionIdentification hostTransactionID;
+ /**
+ * The Sale id.
+ */
+ @XmlElement(name = "SaleID")
+ @Schema(description = "Identification of a Sale System or a Sale Terminal for the Sale to POI protocol")
+ protected String saleID;
+ /**
+ * The Poiid.
+ */
+ @XmlElement(name = "POIID")
+ @Schema(description = "Identification of a POI System or a POI Terminal for the Sale to POI protocol --Rule: If original transaction is coming from another POI")
+ protected String poiid;
+ /**
+ * The Reuse card data flag.
+ */
+ @XmlElement(name = "ReuseCardDataFlag")
+ @Schema(description = "Indicate if the card data has to be got from a previous transaction.")
+ protected Boolean reuseCardDataFlag;
+ /**
+ * The Customer language.
+ */
+ @XmlElement(name = "CustomerLanguage")
+ @Schema(description = "Language of the Customer --Rule: Optional for Reversal, otherwise absent.")
+ protected String customerLanguage;
+ /**
+ * The Acquirer id.
+ */
+ @XmlElement(name = "AcquirerID")
+ @Schema(description = "Identification of the Acquirer --Rule: Optional for Reversal, otherwise absent.")
+ protected String acquirerID;
+
+ /**
+ * Gets the value of the poiTransactionID property.
+ *
+ * @return possible object is {@link TransactionIdentification }
+ */
+ public TransactionIdentification getPOITransactionID() {
+ return poiTransactionID;
+ }
+
+ /**
+ * Sets the value of the poiTransactionID property.
+ *
+ * @param value allowed object is {@link TransactionIdentification }
+ */
+ public void setPOITransactionID(TransactionIdentification value) {
+ this.poiTransactionID = value;
+ }
+
+ /**
+ * Gets the value of the approvalCode property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getApprovalCode() {
+ return approvalCode;
+ }
+
+ /**
+ * Sets the value of the approvalCode property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setApprovalCode(String value) {
+ this.approvalCode = value;
+ }
+
+ /**
+ * Gets the value of the hostTransactionID property.
+ *
+ * @return possible object is {@link TransactionIdentification }
+ */
+ public TransactionIdentification getHostTransactionID() {
+ return hostTransactionID;
+ }
+
+ /**
+ * Sets the value of the hostTransactionID property.
+ *
+ * @param value allowed object is {@link TransactionIdentification }
+ */
+ public void setHostTransactionID(TransactionIdentification value) {
+ this.hostTransactionID = value;
+ }
+
+ /**
+ * Gets the value of the saleID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getSaleID() {
+ return saleID;
+ }
+
+ /**
+ * Sets the value of the saleID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setSaleID(String value) {
+ this.saleID = value;
+ }
+
+ /**
+ * Gets the value of the poiid property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPOIID() {
+ return poiid;
+ }
+
+ /**
+ * Sets the value of the poiid property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPOIID(String value) {
+ this.poiid = value;
+ }
+
+ /**
+ * Gets the value of the reuseCardDataFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isReuseCardDataFlag() {
+ if (reuseCardDataFlag == null) {
+ return true;
+ } else {
+ return reuseCardDataFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the reuseCardDataFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setReuseCardDataFlag(Boolean value) {
+ this.reuseCardDataFlag = value;
+ }
+
+ /**
+ * Gets the value of the customerLanguage property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCustomerLanguage() {
+ return customerLanguage;
+ }
+
+ /**
+ * Sets the value of the customerLanguage property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCustomerLanguage(String value) {
+ this.customerLanguage = value;
+ }
+
+ /**
+ * Gets the value of the acquirerID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getAcquirerID() {
+ return acquirerID;
+ }
+
+ /**
+ * Sets the value of the acquirerID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setAcquirerID(String value) {
+ this.acquirerID = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/OutputBarcode.java b/src/main/java/com/adyen/model/nexo/OutputBarcode.java
new file mode 100644
index 000000000..df7f38962
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/OutputBarcode.java
@@ -0,0 +1,85 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: BarCode content to display or print. -- Usage: Various usage of barcode
+ *
+ *
+ * Java class for OutputBarcode complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="OutputBarcode">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="BarcodeValue" use="required" type="{}BarcodeValue" />
+ * <attribute name="BarcodeType" type="{}BarcodeType" default="EAN13" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "OutputBarcode")
+public class OutputBarcode {
+
+ @XmlElement(name = "BarcodeValue", required = true)
+ @Schema(description = "Value with a BarCode coding.")
+ protected String barcodeValue;
+ @XmlElement(name = "BarcodeType")
+ @Schema(description = "Type of BarCode coding.")
+ protected BarcodeType barcodeType;
+
+ /**
+ * Gets the value of the barcodeValue property.
+ *
+ * @return possible object is
+ * {@link String }
+ */
+ public String getBarcodeValue() {
+ return barcodeValue;
+ }
+
+ /**
+ * Sets the value of the barcodeValue property.
+ *
+ * @param value allowed object is
+ * {@link String }
+ */
+ public void setBarcodeValue(String value) {
+ this.barcodeValue = value;
+ }
+
+ /**
+ * Gets the value of the barcodeType property.
+ *
+ * @return possible object is
+ * {@link BarcodeType }
+ */
+ public BarcodeType getBarcodeType() {
+ if (barcodeType == null) {
+ return BarcodeType.EAN_13;
+ } else {
+ return barcodeType;
+ }
+ }
+
+ /**
+ * Sets the value of the barcodeType property.
+ *
+ * @param value allowed object is
+ * {@link BarcodeType }
+ */
+ public void setBarcodeType(BarcodeType value) {
+ this.barcodeType = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/OutputContent.java b/src/main/java/com/adyen/model/nexo/OutputContent.java
new file mode 100644
index 000000000..d83824816
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/OutputContent.java
@@ -0,0 +1,177 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content to display or print. -- Usage: This is a sequence of elements if they have different formats.
+ *
+ * Java class for OutputContent complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="OutputContent">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="PredefinedContent" type="{}PredefinedContent" minOccurs="0"/>
+ * <element name="OutputText" type="{}OutputText" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="OutputXHTML" type="{}OutputXHTML" minOccurs="0"/>
+ * <element name="OutputBarcode" type="{}OutputBarcode" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="OutputFormat" use="required" type="{}OutputFormatType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "OutputContent", propOrder = {
+ "predefinedContent",
+ "outputText",
+ "outputXHTML",
+ "outputBarcode"
+})
+public class OutputContent {
+
+ /**
+ * The Predefined content.
+ */
+ @XmlElement(name = "PredefinedContent")
+ @Schema(description = "Reference of a predefined message to display or print. --Rule: Mandatory, if OutputFormat is MessageRef, not allowed otherwise.")
+ protected PredefinedContent predefinedContent;
+ /**
+ * The Output text.
+ */
+ @XmlElement(name = "OutputText")
+ @Schema(description = "Content of text message to display or print. --Rule: Mandatory, if OutputFormat is Text, not allowed otherwise. One instance of OutputText per shared format")
+ protected List outputText;
+ /**
+ * The Output xhtml.
+ */
+ @XmlElement(name = "OutputXHTML")
+ @Schema(description = "XHTML document body containing the message to display or print. --Rule: Mandatory, if OutputFormat is XHTML, not allowed otherwise.")
+ protected byte[] outputXHTML;
+ /**
+ * The Output barcode.
+ */
+ @XmlElement(name = "OutputBarcode")
+ @Schema(description = "BarCode content to display or print. --Rule: Mandatory, if OutputFormat is BarCode, not allowed otherwise.")
+ protected OutputBarcode outputBarcode;
+ /**
+ * The Output format.
+ */
+ @XmlElement(name = "OutputFormat", required = true)
+ @Schema(description = "Format of the content to display or print")
+ protected OutputFormatType outputFormat;
+
+ /**
+ * Gets the value of the predefinedContent property.
+ *
+ * @return possible object is {@link PredefinedContent }
+ */
+ public PredefinedContent getPredefinedContent() {
+ return predefinedContent;
+ }
+
+ /**
+ * Sets the value of the predefinedContent property.
+ *
+ * @param value allowed object is {@link PredefinedContent }
+ */
+ public void setPredefinedContent(PredefinedContent value) {
+ this.predefinedContent = value;
+ }
+
+ /**
+ * Gets the value of the outputText property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the outputText property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getOutputText().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link OutputText }
+ *
+ * @return the output text
+ */
+ public List getOutputText() {
+ if (outputText == null) {
+ outputText = new ArrayList<>();
+ }
+ return this.outputText;
+ }
+
+ /**
+ * Gets the value of the outputXHTML property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getOutputXHTML() {
+ return outputXHTML;
+ }
+
+ /**
+ * Sets the value of the outputXHTML property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setOutputXHTML(byte[] value) {
+ this.outputXHTML = value;
+ }
+
+ /**
+ * Gets the value of the outputBarcode property.
+ *
+ * @return possible object is {@link OutputBarcode }
+ */
+ public OutputBarcode getOutputBarcode() {
+ return outputBarcode;
+ }
+
+ /**
+ * Sets the value of the outputBarcode property.
+ *
+ * @param value allowed object is {@link OutputBarcode }
+ */
+ public void setOutputBarcode(OutputBarcode value) {
+ this.outputBarcode = value;
+ }
+
+ /**
+ * Gets the value of the outputFormat property.
+ *
+ * @return possible object is {@link OutputFormatType }
+ */
+ public OutputFormatType getOutputFormat() {
+ return outputFormat;
+ }
+
+ /**
+ * Sets the value of the outputFormat property.
+ *
+ * @param value allowed object is {@link OutputFormatType }
+ */
+ public void setOutputFormat(OutputFormatType value) {
+ this.outputFormat = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/OutputFormatType.java b/src/main/java/com/adyen/model/nexo/OutputFormatType.java
new file mode 100644
index 000000000..88b50962e
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/OutputFormatType.java
@@ -0,0 +1,86 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for OutputFormatType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="OutputFormatType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="MessageRef"/>
+ * <enumeration value="Text"/>
+ * <enumeration value="XHTML"/>
+ * <enumeration value="BarCode"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "OutputFormatType")
+@XmlEnum
+public enum OutputFormatType {
+
+
+ /**
+ * Predefined messageType (of any format) on the POI or the Sale. The output is then a PredefinedContent data structure.
+ */
+ @XmlEnumValue("MessageRef")
+ @Schema(description = "Predefined message (of any format) on the POI or the Sale. The output is then a PredefinedContent data structure. ")
+ MESSAGE_REF("MessageRef"),
+
+ /**
+ * Text messageType including control characters prefixed by an escape character. The DisplayOutput is then an OutputText data structure.
+ */
+ @XmlEnumValue("Text")
+ @Schema(description = "Text message including control characters prefixed by an escape character. The DisplayOutput is then an OutputText data structure.")
+ TEXT("Text"),
+
+ /**
+ * DisplayOutput uses the eXtensible HyperText Markup Language.
+ */
+ @XmlEnumValue("XHTML")
+ @Schema(description = "DisplayOutput uses the eXtensible HyperText Markup Language.")
+ XHTML("XHTML"),
+
+ /**
+ * Barcode type to print The output is then a OutputBarCode data structure.
+ */
+ @XmlEnumValue("BarCode")
+ @Schema(description = "Barcode type to print The output is then a OutputBarCode data structure.")
+ BAR_CODE("BarCode");
+ private final String value;
+
+ OutputFormatType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value output format type.
+ *
+ * @param v the v
+ * @return the output format type
+ */
+ public static OutputFormatType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/OutputResult.java b/src/main/java/com/adyen/model/nexo/OutputResult.java
new file mode 100644
index 000000000..ab8df1ed8
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/OutputResult.java
@@ -0,0 +1,111 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Information related to the result the output (display, print, input). -- Usage: In the messageType response, it contains the result of the output, if required in the messageType request.
+ *
+ * Java class for OutputResult complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="OutputResult">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * </sequence>
+ * <attribute name="Device" use="required" type="{}DeviceType" />
+ * <attribute name="InfoQualify" use="required" type="{}InfoQualifyType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "OutputResult", propOrder = {
+ "response"
+})
+public class OutputResult {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Device.
+ */
+ @XmlElement(name = "Device", required = true)
+ @Schema(description = "Logical device located on a Sale Terminal or a POI Terminal, in term of class of information to output (display, print --Rule: Copy")
+ protected DeviceType device;
+ /**
+ * The Info qualify.
+ */
+ @XmlElement(name = "InfoQualify", required = true)
+ @Schema(description = "Qualification of the information to sent to an output logical device, to display or print to the Cashier or the --Rule: Copy")
+ protected InfoQualifyType infoQualify;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the device property.
+ *
+ * @return possible object is {@link DeviceType }
+ */
+ public DeviceType getDevice() {
+ return device;
+ }
+
+ /**
+ * Sets the value of the device property.
+ *
+ * @param value allowed object is {@link DeviceType }
+ */
+ public void setDevice(DeviceType value) {
+ this.device = value;
+ }
+
+ /**
+ * Gets the value of the infoQualify property.
+ *
+ * @return possible object is {@link InfoQualifyType }
+ */
+ public InfoQualifyType getInfoQualify() {
+ return infoQualify;
+ }
+
+ /**
+ * Sets the value of the infoQualify property.
+ *
+ * @param value allowed object is {@link InfoQualifyType }
+ */
+ public void setInfoQualify(InfoQualifyType value) {
+ this.infoQualify = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/OutputText.java b/src/main/java/com/adyen/model/nexo/OutputText.java
new file mode 100644
index 000000000..f9dbfd1d6
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/OutputText.java
@@ -0,0 +1,306 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of text message to display or print. -- Usage: 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.
+ *
+ * Java class for OutputText complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="OutputText">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="Text" use="required" type="{}Text" />
+ * <attribute name="CharacterSet" type="{}CharacterSet" />
+ * <attribute name="Font" type="{}Font" />
+ * <attribute name="StartRow" type="{}StartRow" />
+ * <attribute name="StartColumn" type="{}StartColumn" />
+ * <attribute name="Color" type="{}ColorType" />
+ * <attribute name="CharacterWidth" type="{}CharacterWidthType" />
+ * <attribute name="CharacterHeight" type="{}CharacterHeightType" />
+ * <attribute name="CharacterStyle" type="{}CharacterStyleType" />
+ * <attribute name="Alignment" type="{}AlignmentType" />
+ * <attribute name="EndOfLineFlag" type="{}EndOfLineFlag" default="true" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "OutputText")
+public class OutputText {
+
+ @XmlElement(name = "Text", required = true)
+ @Schema(description = "Content of text message to display, print or play.")
+ protected String text;
+
+ @XmlElement(name = "CharacterSet")
+ @Schema(description = "The character encoding of the text string. --Rule: If not present, the settings of thetarget system or device are used. ")
+ protected Integer characterSet;
+ @XmlElement(name = "Font")
+ @Schema(description = "Name of the font. --Rule: If not present, the settings of the target system or deviceare used. ")
+ protected String font;
+ @XmlElement(name = "StartRow")
+ @Schema(description = "Row from which the text string has to be displayed or printed. --Rule: If not present,the settings of the target system or device are used(e.g.current row position). ")
+ protected Integer startRow;
+
+ @XmlElement(name = "StartColumn")
+ @Schema(description = "Column from which the text string has to be displayed or printed. --Rule: If notpresent, the settings of the target system or device are used(e.g.current column position). ")
+ protected Integer startColumn;
+
+ @XmlElement(name = "Color")
+ @Schema(description = "Color of the text string to display or print. --Rule: If not present, default colourused ")
+ protected ColorType color;
+
+ @XmlElement(name = "CharacterWidth")
+ @Schema(description = "Character width of the text string to display or print. --Rule: If not present, default width used")
+ protected CharacterWidthType characterWidth;
+
+ @XmlElement(name = "CharacterHeight")
+ @Schema(description = "Character height of the text string to display or print. --Rule: If not present, default height used ")
+ protected CharacterHeightType characterHeight;
+
+ @XmlElement(name = "CharacterStyle")
+ @Schema(description = "Typographic style of the sequence of characters to display or print. --Rule: If notpresent, default style used ")
+ protected CharacterStyleType characterStyle;
+ @XmlElement(name = "Alignment")
+ @Schema(description = "Alignment of the text string on the display line or print line --Rule: If not present, default alignment used ")
+ protected AlignmentType alignment;
+ @XmlElement(name = "EndOfLineFlag")
+ @Schema(description = "Text is at the end of a line.")
+ protected Boolean endOfLineFlag;
+
+ /**
+ * Gets the value of the text property.
+ *
+ * @return possible object is
+ * {@link String }
+ */
+ public String getText() {
+ return text;
+ }
+
+ /**
+ * Sets the value of the text property.
+ *
+ * @param value allowed object is
+ * {@link String }
+ */
+ public void setText(String value) {
+ this.text = value;
+ }
+
+ /**
+ * Gets the value of the characterSet property.
+ *
+ * @return possible object is
+ * {@link Integer }
+ */
+ public Integer getCharacterSet() {
+ return characterSet;
+ }
+
+ /**
+ * Sets the value of the characterSet property.
+ *
+ * @param value allowed object is
+ * {@link Integer }
+ */
+ public void setCharacterSet(Integer value) {
+ this.characterSet = value;
+ }
+
+ /**
+ * Gets the value of the font property.
+ *
+ * @return possible object is
+ * {@link String }
+ */
+ public String getFont() {
+ return font;
+ }
+
+ /**
+ * Sets the value of the font property.
+ *
+ * @param value allowed object is
+ * {@link String }
+ */
+ public void setFont(String value) {
+ this.font = value;
+ }
+
+ /**
+ * Gets the value of the startRow property.
+ *
+ * @return possible object is
+ * {@link Integer }
+ */
+ public Integer getStartRow() {
+ return startRow;
+ }
+
+ /**
+ * Sets the value of the startRow property.
+ *
+ * @param value allowed object is
+ * {@link Integer }
+ */
+ public void setStartRow(Integer value) {
+ this.startRow = value;
+ }
+
+ /**
+ * Gets the value of the startColumn property.
+ *
+ * @return possible object is
+ * {@link Integer }
+ */
+ public Integer getStartColumn() {
+ return startColumn;
+ }
+
+ /**
+ * Sets the value of the startColumn property.
+ *
+ * @param value allowed object is
+ * {@link Integer }
+ */
+ public void setStartColumn(Integer value) {
+ this.startColumn = value;
+ }
+
+ /**
+ * Gets the value of the color property.
+ *
+ * @return possible object is
+ * {@link ColorType }
+ */
+ public ColorType getColor() {
+ return color;
+ }
+
+ /**
+ * Sets the value of the color property.
+ *
+ * @param value allowed object is
+ * {@link ColorType }
+ */
+ public void setColor(ColorType value) {
+ this.color = value;
+ }
+
+ /**
+ * Gets the value of the characterWidth property.
+ *
+ * @return possible object is
+ * {@link CharacterWidthType }
+ */
+ public CharacterWidthType getCharacterWidth() {
+ return characterWidth;
+ }
+
+ /**
+ * Sets the value of the characterWidth property.
+ *
+ * @param value allowed object is
+ * {@link CharacterWidthType }
+ */
+ public void setCharacterWidth(CharacterWidthType value) {
+ this.characterWidth = value;
+ }
+
+ /**
+ * Gets the value of the characterHeight property.
+ *
+ * @return possible object is
+ * {@link CharacterHeightType }
+ */
+ public CharacterHeightType getCharacterHeight() {
+ return characterHeight;
+ }
+
+ /**
+ * Sets the value of the characterHeight property.
+ *
+ * @param value allowed object is
+ * {@link CharacterHeightType }
+ */
+ public void setCharacterHeight(CharacterHeightType value) {
+ this.characterHeight = value;
+ }
+
+ /**
+ * Gets the value of the characterStyle property.
+ *
+ * @return possible object is
+ * {@link CharacterStyleType }
+ */
+ public CharacterStyleType getCharacterStyle() {
+ return characterStyle;
+ }
+
+ /**
+ * Sets the value of the characterStyle property.
+ *
+ * @param value allowed object is
+ * {@link CharacterStyleType }
+ */
+ public void setCharacterStyle(CharacterStyleType value) {
+ this.characterStyle = value;
+ }
+
+ /**
+ * Gets the value of the alignment property.
+ *
+ * @return possible object is
+ * {@link AlignmentType }
+ */
+ public AlignmentType getAlignment() {
+ return alignment;
+ }
+
+ /**
+ * Sets the value of the alignment property.
+ *
+ * @param value allowed object is
+ * {@link AlignmentType }
+ */
+ public void setAlignment(AlignmentType value) {
+ this.alignment = value;
+ }
+
+ /**
+ * Gets the value of the endOfLineFlag property.
+ *
+ * @return possible object is
+ * {@link Boolean }
+ */
+ public boolean isEndOfLineFlag() {
+ if (endOfLineFlag == null) {
+ return true;
+ } else {
+ return endOfLineFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the endOfLineFlag property.
+ *
+ * @param value allowed object is
+ * {@link Boolean }
+ */
+ public void setEndOfLineFlag(Boolean value) {
+ this.endOfLineFlag = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PINFormatType.java b/src/main/java/com/adyen/model/nexo/PINFormatType.java
new file mode 100644
index 000000000..67240f1c9
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PINFormatType.java
@@ -0,0 +1,86 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for PINFormatType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="PINFormatType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="ISO0"/>
+ * <enumeration value="ISO1"/>
+ * <enumeration value="ISO2"/>
+ * <enumeration value="ISO3"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "PINFormatType")
+@XmlEnum
+public enum PINFormatType {
+
+
+ /**
+ * ISO 0
+ */
+ @XmlEnumValue("ISO0")
+ @Schema(description = "ISO 0")
+ ISO_0("ISO0"),
+
+ /**
+ * ISO 1
+ */
+ @XmlEnumValue("ISO1")
+ @Schema(description = "ISO 1")
+ ISO_1("ISO1"),
+
+ /**
+ * ISO 2
+ */
+ @XmlEnumValue("ISO2")
+ @Schema(description = "ISO 2")
+ ISO_2("ISO2"),
+
+ /**
+ * ISO 3
+ */
+ @XmlEnumValue("ISO3")
+ @Schema(description = "ISO 3")
+ ISO_3("ISO3");
+ private final String value;
+
+ PINFormatType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value pin format type.
+ *
+ * @param v the v
+ * @return the pin format type
+ */
+ public static PINFormatType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PINRequest.java b/src/main/java/com/adyen/model/nexo/PINRequest.java
new file mode 100644
index 000000000..e108bf87b
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PINRequest.java
@@ -0,0 +1,237 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigInteger;
+
+
+/**
+ * Definition: Content of the PIN Request messageType. -- Usage: It contains the type of request related to the PIN, and the associated parameters.
+ *
+ * Java class for PINRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PINRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="CardholderPIN" type="{}CardholderPIN" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="PINRequest" use="required" type="{}PINRequestType" />
+ * <attribute name="PINVerifMethod" type="{}PINVerifMethod" />
+ * <attribute name="AdditionalInput" type="{}AdditionalInput" />
+ * <attribute name="PINEncAlgorithm" type="{}PINEncAlgorithm" />
+ * <attribute name="PINFormat" type="{}PINFormatType" />
+ * <attribute name="KeyReference" type="{}KeyReference" />
+ * <attribute name="MaxWaitingTime" type="{}MaxWaitingTime" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PINRequest", propOrder = {
+ "cardholderPIN"
+})
+public class PINRequest {
+
+ /**
+ * The Cardholder pin.
+ */
+ @XmlElement(name = "CardholderPIN")
+ @Schema(description = "Encrypted PIN and related information --Rule: PINRequestTypeConformed to EPAS Acquirer protocol.")
+ protected CardholderPIN cardholderPIN;
+ /**
+ * The Pin request.
+ */
+ @XmlElement(name = "PINRequestType", required = true)
+ @Schema(description = "Type of PIN Service.")
+ protected PINRequestType pinRequestType;
+ /**
+ * The Pin verif method.
+ */
+ @XmlElement(name = "PINVerifMethod")
+ @Schema(description = "Identify the PIN verification method and keys. --Rule: PINRequestType")
+ protected String pinVerifMethod;
+ /**
+ * The Additional input.
+ */
+ @XmlElement(name = "AdditionalInput")
+ @Schema(description = "Additional information required to verify the PIN like part of the PAN, or driver ID. --Rule: PINRequestType")
+ protected String additionalInput;
+ /**
+ * The Pin enc algorithm.
+ */
+ @XmlElement(name = "PINEncAlgorithm")
+ @Schema(description = "Identify the encrypted PIN block algorithm. --Rule: PINRequestType")
+ protected String pinEncAlgorithm;
+ /**
+ * The Pin format.
+ */
+ @XmlElement(name = "PINFormat")
+ @Schema(description = "Identify the format of the PIN before encryption. --Rule: PINRequestType")
+ protected PINFormatType pinFormat;
+ /**
+ * The Key reference.
+ */
+ @XmlElement(name = "KeyReference")
+ @Schema(description = "Identify the key to use to encrypt the PIN block. --Rule: PINRequestType")
+ protected String keyReference;
+ /**
+ * The Max waiting time.
+ */
+ @XmlElement(name = "MaxWaitingTime")
+ @Schema(description = "Maximum time to wait for the request processing in seconds. --Rule: PINRequestTypePINRequestType")
+ protected BigInteger maxWaitingTime;
+
+ /**
+ * Gets the value of the cardholderPIN property.
+ *
+ * @return possible object is {@link CardholderPIN }
+ */
+ public CardholderPIN getCardholderPIN() {
+ return cardholderPIN;
+ }
+
+ /**
+ * Sets the value of the cardholderPIN property.
+ *
+ * @param value allowed object is {@link CardholderPIN }
+ */
+ public void setCardholderPIN(CardholderPIN value) {
+ this.cardholderPIN = value;
+ }
+
+ /**
+ * Gets the value of the pinRequestType property.
+ *
+ * @return possible object is {@link PINRequestType }
+ */
+ public PINRequestType getPINRequestType() {
+ return pinRequestType;
+ }
+
+ /**
+ * Sets the value of the pinRequestType property.
+ *
+ * @param value allowed object is {@link PINRequestType }
+ */
+ public void setPINRequestType(PINRequestType value) {
+ this.pinRequestType = value;
+ }
+
+ /**
+ * Gets the value of the pinVerifMethod property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPINVerifMethod() {
+ return pinVerifMethod;
+ }
+
+ /**
+ * Sets the value of the pinVerifMethod property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPINVerifMethod(String value) {
+ this.pinVerifMethod = value;
+ }
+
+ /**
+ * Gets the value of the additionalInput property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getAdditionalInput() {
+ return additionalInput;
+ }
+
+ /**
+ * Sets the value of the additionalInput property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setAdditionalInput(String value) {
+ this.additionalInput = value;
+ }
+
+ /**
+ * Gets the value of the pinEncAlgorithm property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPINEncAlgorithm() {
+ return pinEncAlgorithm;
+ }
+
+ /**
+ * Sets the value of the pinEncAlgorithm property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPINEncAlgorithm(String value) {
+ this.pinEncAlgorithm = value;
+ }
+
+ /**
+ * Gets the value of the pinFormat property.
+ *
+ * @return possible object is {@link PINFormatType }
+ */
+ public PINFormatType getPINFormat() {
+ return pinFormat;
+ }
+
+ /**
+ * Sets the value of the pinFormat property.
+ *
+ * @param value allowed object is {@link PINFormatType }
+ */
+ public void setPINFormat(PINFormatType value) {
+ this.pinFormat = value;
+ }
+
+ /**
+ * Gets the value of the keyReference property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getKeyReference() {
+ return keyReference;
+ }
+
+ /**
+ * Sets the value of the keyReference property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setKeyReference(String value) {
+ this.keyReference = value;
+ }
+
+ /**
+ * Gets the value of the maxWaitingTime property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getMaxWaitingTime() {
+ return maxWaitingTime;
+ }
+
+ /**
+ * Sets the value of the maxWaitingTime property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setMaxWaitingTime(BigInteger value) {
+ this.maxWaitingTime = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PINRequestType.java b/src/main/java/com/adyen/model/nexo/PINRequestType.java
new file mode 100644
index 000000000..08f23ea27
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PINRequestType.java
@@ -0,0 +1,78 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for PINRequestType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="PINRequestType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="PINVerify"/>
+ * <enumeration value="PINVerifyOnly"/>
+ * <enumeration value="PINEnter"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "PINRequestType")
+@XmlEnum
+public enum PINRequestType {
+
+
+ /**
+ * The PIN Entering and Verify.
+ */
+ @XmlEnumValue("PINVerify")
+ @Schema(description = "The PIN Entering and Verify.")
+ PIN_VERIFY("PINVerify"),
+
+ /**
+ * The PIN Verify only, the PIN is entered before and the PIN Block (encrypted PIN) is provided.
+ */
+ @XmlEnumValue("PINVerifyOnly")
+ @Schema(description = "The PIN Verify only, the PIN is entered before and the PIN Block (encrypted PIN) is provided.")
+ PIN_VERIFY_ONLY("PINVerifyOnly"),
+
+ /**
+ * The PIN is entered by the Cardholder, encrypted by the POI, and provided as a result.
+ */
+ @XmlEnumValue("PINEnter")
+ @Schema(description = "The PIN is entered by the Cardholder, encrypted by the POI, and provided as a result.")
+ PIN_ENTER("PINEnter");
+ private final String value;
+
+ PINRequestType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value pin request type.
+ *
+ * @param v the v
+ * @return the pin request type
+ */
+ public static PINRequestType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PINResponse.java b/src/main/java/com/adyen/model/nexo/PINResponse.java
new file mode 100644
index 000000000..8ca23f7e9
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PINResponse.java
@@ -0,0 +1,87 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the PIN Response messageType. -- Usage: It contains the result of the requested service, with possibly the encrypted PIN.
+ *
+ * Java class for PINResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PINResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * <element name="CardholderPIN" type="{}CardholderPIN" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PINResponse", propOrder = {
+ "response",
+ "cardholderPIN"
+})
+public class PINResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Cardholder pin.
+ */
+ @XmlElement(name = "CardholderPIN")
+ @Schema(description = "Encrypted PIN and related information")
+ protected CardholderPIN cardholderPIN;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the cardholderPIN property.
+ *
+ * @return possible object is {@link CardholderPIN }
+ */
+ public CardholderPIN getCardholderPIN() {
+ return cardholderPIN;
+ }
+
+ /**
+ * Sets the value of the cardholderPIN property.
+ *
+ * @param value allowed object is {@link CardholderPIN }
+ */
+ public void setCardholderPIN(CardholderPIN value) {
+ this.cardholderPIN = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/POICapabilitiesType.java b/src/main/java/com/adyen/model/nexo/POICapabilitiesType.java
new file mode 100644
index 000000000..1180323d7
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/POICapabilitiesType.java
@@ -0,0 +1,156 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for POICapabilitiesType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="POICapabilitiesType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="CashierDisplay"/>
+ * <enumeration value="CashierError"/>
+ * <enumeration value="CashierInput"/>
+ * <enumeration value="CustomerDisplay"/>
+ * <enumeration value="CustomerError"/>
+ * <enumeration value="CustomerInput"/>
+ * <enumeration value="PrinterReceipt"/>
+ * <enumeration value="PrinterDocument"/>
+ * <enumeration value="PrinterVoucher"/>
+ * <enumeration value="MagStripe"/>
+ * <enumeration value="ICC"/>
+ * <enumeration value="EMVContactless"/>
+ * <enumeration value="CashHandling"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "POICapabilitiesType")
+@XmlEnum
+public enum POICapabilitiesType {
+
+
+ /**
+ * Used by the Sale System when the device is managed by the POI Terminal, to ask question or display some information to the Cashier.
+ */
+ @XmlEnumValue("CashierDisplay")
+ @Schema(description = "Used by the Sale System when the device is managed by the POI Terminal, to ask question or display some information to the Cashier.")
+ CASHIER_DISPLAY("CashierDisplay"),
+
+ /**
+ * To display to the Cashier information is related to an error situation occurring on the Sale Terminal when the device is managed by the POI Terminal.
+ */
+ @XmlEnumValue("CashierError")
+ @Schema(description = "To display to the Cashier information is related to an error situation occurring on the Sale Terminal when the device is managed by the POI Terminal.")
+ CASHIER_ERROR("CashierError"),
+
+ /**
+ * Any kind of keyboard allowing all or part of the commands of the Input messageType request from the POI System to the Sale System (InputCommand data element). The
+ */
+ @XmlEnumValue("CashierInput")
+ @Schema(description = "Any kind of keyboard allowing all or part of the commands of the Input message request from the POI System to the Sale System (InputCommand data element). The")
+ CASHIER_INPUT("CashierInput"),
+
+ /**
+ * Standard Customer display interface used by the Sale System to ask question, or to show information to the Customer outside a Service dialogue.
+ */
+ @XmlEnumValue("CustomerDisplay")
+ @Schema(description = "Standard Customer display interface used by the Sale System to ask question, or to show information to the Customer outside a Service dialogue.")
+ CUSTOMER_DISPLAY("CustomerDisplay"),
+
+ /**
+ * To display to the Customer information is related to an error situation occurring on the Sale Terminal during a Sale transaction.
+ */
+ @XmlEnumValue("CustomerError")
+ @Schema(description = "To display to the Customer information is related to an error situation occurring on the Sale Terminal during a Sale transaction.")
+ CUSTOMER_ERROR("CustomerError"),
+
+ /**
+ * Any kind of keyboard allowing all or part of the commands of the Input messageType request from the POI System to the Sale System (InputCommand data element). The
+ */
+ @XmlEnumValue("CustomerInput")
+ @Schema(description = "Any kind of keyboard allowing all or part of the commands of the Input message request from the POI System to the Sale System (InputCommand data element). The")
+ CUSTOMER_INPUT("CustomerInput"),
+
+ /**
+ * Printer for the Sale receipt.
+ */
+ @XmlEnumValue("PrinterReceipt")
+ @Schema(description = "Printer for the Sale receipt.")
+ PRINTER_RECEIPT("PrinterReceipt"),
+
+ /**
+ * When the Sale System wants to print specific document (check, dynamic currency conversion ...).
+ */
+ @XmlEnumValue("PrinterDocument")
+ @Schema(description = "When the Sale System wants to print specific document (check, dynamic currency conversion ...). ")
+ PRINTER_DOCUMENT("PrinterDocument"),
+
+ /**
+ * Coupons, voucher or special ticket generated by the Sale System and to be printed.
+ */
+ @XmlEnumValue("PrinterVoucher")
+ @Schema(description = "Coupons, voucher or special ticket generated by the Sale System and to be printed.")
+ PRINTER_VOUCHER("PrinterVoucher"),
+
+ /**
+ * Magnetic stripe card reader
+ */
+ @XmlEnumValue("MagStripe")
+ @Schema(description = "Magnetic stripe card reader")
+ MAG_STRIPE("MagStripe"),
+
+ /**
+ * Contact ICC card reader
+ */
+ ICC("ICC"),
+
+ /**
+ * Contactless card reader with EMV applications
+ */
+ @XmlEnumValue("EMVContactless")
+ @Schema(description = "Contactless card reader with EMV applications")
+ EMV_CONTACTLESS("EMVContactless"),
+
+ /**
+ * Device which performs cash change, cash dispense or cash acceptance.
+ */
+ @XmlEnumValue("CashHandling")
+ @Schema(description = "Device which performs cash change, cash dispense or cash acceptance.")
+ CASH_HANDLING("CashHandling");
+ private final String value;
+
+ POICapabilitiesType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value poi capabilities type.
+ *
+ * @param v the v
+ * @return the poi capabilities type
+ */
+ public static POICapabilitiesType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/POIData.java b/src/main/java/com/adyen/model/nexo/POIData.java
new file mode 100644
index 000000000..8f109e7e2
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/POIData.java
@@ -0,0 +1,86 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Data related to the POI System. -- Usage: In the Message Response, identification of the POI transaction.
+ *
+ * Java class for POIData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="POIData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="POITransactionID" type="{}TransactionIdentification"/>
+ * </sequence>
+ * <attribute name="POIReconciliationID" type="{}POIReconciliationID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "POIData", propOrder = {
+ "poiTransactionID"
+})
+public class POIData {
+
+ /**
+ * The Poi transaction id.
+ */
+ @XmlElement(name = "POITransactionID", required = true)
+ @Schema(description = "Unique identification of a POI transaction for a POI")
+ protected TransactionIdentification poiTransactionID;
+ /**
+ * The Poi reconciliation id.
+ */
+ @XmlElement(name = "POIReconciliationID")
+ @Schema(description = "Identification of the reconciliation period between Sale and POI. --Rule: If Result is Success")
+ protected String poiReconciliationID;
+
+ /**
+ * Gets the value of the poiTransactionID property.
+ *
+ * @return possible object is {@link TransactionIdentification }
+ */
+ public TransactionIdentification getPOITransactionID() {
+ return poiTransactionID;
+ }
+
+ /**
+ * Sets the value of the poiTransactionID property.
+ *
+ * @param value allowed object is {@link TransactionIdentification }
+ */
+ public void setPOITransactionID(TransactionIdentification value) {
+ this.poiTransactionID = value;
+ }
+
+ /**
+ * Gets the value of the poiReconciliationID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPOIReconciliationID() {
+ return poiReconciliationID;
+ }
+
+ /**
+ * Sets the value of the poiReconciliationID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPOIReconciliationID(String value) {
+ this.poiReconciliationID = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/POIProfile.java b/src/main/java/com/adyen/model/nexo/POIProfile.java
new file mode 100644
index 000000000..59998c6f5
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/POIProfile.java
@@ -0,0 +1,105 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlList;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Functional profile of the POI Terminal. -- Usage: Sent in the Login Response to identify the profiles the POI Terminal support during the session. The value of this data element contains: One of the generic profile: Basic, Standard or Extended, A list (possibly empty) of services
+ *
+ * Java class for POIProfile complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="POIProfile">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="ServiceProfiles" type="{}ServiceProfiles" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="GenericProfile" type="{}GenericProfileType" default="Standard" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "POIProfile", propOrder = {
+ "serviceProfiles"
+})
+public class POIProfile {
+
+ /**
+ * The Service profiles.
+ */
+ @XmlList
+ @XmlElement(name = "ServiceProfiles")
+ @Schema(description = "Service profiles of the Sale to POI protocol. --Rule: If a service profile could be requested")
+ protected List serviceProfiles;
+ /**
+ * The Generic profile.
+ */
+ @XmlElement(name = "GenericProfile")
+ @Schema(description = "Functional profile of the Sale to POI protocol.")
+ protected GenericProfileType genericProfile;
+
+ /**
+ * Gets the value of the serviceProfiles property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the serviceProfiles property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getServiceProfiles().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link ServiceProfilesType }
+ *
+ * @return the service profiles
+ */
+ public List getServiceProfiles() {
+ if (serviceProfiles == null) {
+ serviceProfiles = new ArrayList<>();
+ }
+ return this.serviceProfiles;
+ }
+
+ /**
+ * Gets the value of the genericProfile property.
+ *
+ * @return possible object is {@link GenericProfileType }
+ */
+ public GenericProfileType getGenericProfile() {
+ if (genericProfile == null) {
+ return GenericProfileType.STANDARD;
+ } else {
+ return genericProfile;
+ }
+ }
+
+ /**
+ * Sets the value of the genericProfile property.
+ *
+ * @param value allowed object is {@link GenericProfileType }
+ */
+ public void setGenericProfile(GenericProfileType value) {
+ this.genericProfile = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/POISoftware.java b/src/main/java/com/adyen/model/nexo/POISoftware.java
new file mode 100644
index 000000000..e86facc3f
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/POISoftware.java
@@ -0,0 +1,132 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Information related to the software of the POI System which manages the Sale to POI protocol. -- Usage: Allows in a session to identify the product features of a POI System.
+ *
+ * Java class for POISoftware complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="POISoftware">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="ManufacturerID" use="required" type="{}ManufacturerID" />
+ * <attribute name="ApplicationName" use="required" type="{}ApplicationName" />
+ * <attribute name="SoftwareVersion" use="required" type="{}SoftwareVersion" />
+ * <attribute name="CertificationCode" use="required" type="{}CertificationCode" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "POISoftware")
+public class POISoftware {
+
+ /**
+ * The Manufacturer id.
+ */
+ @XmlElement(name = "ManufacturerID", required = true)
+ @Schema(description = "Identification of the Manufacturer")
+ protected String manufacturerID;
+ /**
+ * The Application name.
+ */
+ @XmlElement(name = "ApplicationName", required = true)
+ @Schema(description = "Name of the software product.")
+ protected String applicationName;
+ /**
+ * The Software version.
+ */
+ @XmlElement(name = "SoftwareVersion", required = true)
+ @Schema(description = "Version of the software product")
+ protected String softwareVersion;
+ /**
+ * The Certification code.
+ */
+ @XmlElement(name = "CertificationCode", required = true)
+ @Schema(description = "Certification code of the software which manages the Sale to POI protocol.")
+ protected String certificationCode;
+
+ /**
+ * Gets the value of the manufacturerID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getManufacturerID() {
+ return manufacturerID;
+ }
+
+ /**
+ * Sets the value of the manufacturerID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setManufacturerID(String value) {
+ this.manufacturerID = value;
+ }
+
+ /**
+ * Gets the value of the applicationName property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getApplicationName() {
+ return applicationName;
+ }
+
+ /**
+ * Sets the value of the applicationName property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setApplicationName(String value) {
+ this.applicationName = value;
+ }
+
+ /**
+ * Gets the value of the softwareVersion property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getSoftwareVersion() {
+ return softwareVersion;
+ }
+
+ /**
+ * Sets the value of the softwareVersion property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setSoftwareVersion(String value) {
+ this.softwareVersion = value;
+ }
+
+ /**
+ * Gets the value of the certificationCode property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCertificationCode() {
+ return certificationCode;
+ }
+
+ /**
+ * Sets the value of the certificationCode property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCertificationCode(String value) {
+ this.certificationCode = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/POIStatus.java b/src/main/java/com/adyen/model/nexo/POIStatus.java
new file mode 100644
index 000000000..71557f90f
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/POIStatus.java
@@ -0,0 +1,249 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: State of a POI Terminal. -- Usage: Indicate the availability of the POI Terminal components. The data element is absent if the component is not part of the POI Terminal.
+ *
+ * Java class for POIStatus complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="POIStatus">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="CashHandlingDevice" type="{}CashHandlingDevice" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="GlobalStatus" use="required" type="{}GlobalStatusType" />
+ * <attribute name="SecurityOKFlag" type="{}SecurityOKFlag" />
+ * <attribute name="PEDOKFlag" type="{}PEDOKFlag" />
+ * <attribute name="CardReaderOKFlag" type="{}CardReaderOKFlag" />
+ * <attribute name="PrinterStatus" type="{}PrinterStatusType" />
+ * <attribute name="CommunicationOKFlag" type="{}CommunicationOKFlag" />
+ * <attribute name="FraudPreventionFlag" type="{}FraudPreventionFlag" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "POIStatus", propOrder = {
+ "cashHandlingDevice"
+})
+public class POIStatus {
+
+ /**
+ * The Cash handling device.
+ */
+ @XmlElement(name = "CashHandlingDevice")
+ @Schema(description = "Status of cash handling device. --Rule: If cash handling devices present.")
+ protected List cashHandlingDevice;
+ /**
+ * The Global status.
+ */
+ @XmlElement(name = "GlobalStatus", required = true)
+ @Schema(description = "Global status of a POI Server or POI Terminal.")
+ protected GlobalStatusType globalStatus;
+ /**
+ * The Security ok flag.
+ */
+ @XmlElement(name = "SecurityOKFlag")
+ @Schema(description = "Indicates if the security module of the POI is working and usable. --Rule: If security module present")
+ protected Boolean securityOKFlag;
+ /**
+ * The Pedok flag.
+ */
+ @XmlElement(name = "PEDOKFlag")
+ @Schema(description = "Indicates if the PED is working and usable. --Rule: If PED present")
+ protected Boolean pedokFlag;
+ /**
+ * The Card reader ok flag.
+ */
+ @XmlElement(name = "CardReaderOKFlag")
+ @Schema(description = "Indicates if the card readers are working and usable. --Rule: If card reader device present")
+ protected Boolean cardReaderOKFlag;
+ /**
+ * The Printer status.
+ */
+ @XmlElement(name = "PrinterStatus")
+ @Schema(description = "Indicates if the printer is working and usable. --Rule: If printer device present")
+ protected PrinterStatusType printerStatus;
+ /**
+ * The Communication ok flag.
+ */
+ @XmlElement(name = "CommunicationOKFlag")
+ @Schema(description = "Indicates if the communication infrastructure is working and usable. --Rule: If communication infrastructure present")
+ protected Boolean communicationOKFlag;
+ /**
+ * The Fraud prevention flag.
+ */
+ @XmlElement(name = "FraudPreventionFlag")
+ @Schema(description = "Indicate a suspicion of fraud by the POI System. --Rule: default False")
+ protected Boolean fraudPreventionFlag;
+
+ /**
+ * Gets the value of the cashHandlingDevice property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the cashHandlingDevice property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getCashHandlingDevice().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link CashHandlingDevice }
+ *
+ * @return the cash handling device
+ */
+ public List getCashHandlingDevice() {
+ if (cashHandlingDevice == null) {
+ cashHandlingDevice = new ArrayList<>();
+ }
+ return this.cashHandlingDevice;
+ }
+
+ /**
+ * Gets the value of the globalStatus property.
+ *
+ * @return possible object is {@link GlobalStatusType }
+ */
+ public GlobalStatusType getGlobalStatus() {
+ return globalStatus;
+ }
+
+ /**
+ * Sets the value of the globalStatus property.
+ *
+ * @param value allowed object is {@link GlobalStatusType }
+ */
+ public void setGlobalStatus(GlobalStatusType value) {
+ this.globalStatus = value;
+ }
+
+ /**
+ * Gets the value of the securityOKFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public Boolean isSecurityOKFlag() {
+ return securityOKFlag;
+ }
+
+ /**
+ * Sets the value of the securityOKFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setSecurityOKFlag(Boolean value) {
+ this.securityOKFlag = value;
+ }
+
+ /**
+ * Gets the value of the pedokFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public Boolean isPEDOKFlag() {
+ return pedokFlag;
+ }
+
+ /**
+ * Sets the value of the pedokFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setPEDOKFlag(Boolean value) {
+ this.pedokFlag = value;
+ }
+
+ /**
+ * Gets the value of the cardReaderOKFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public Boolean isCardReaderOKFlag() {
+ return cardReaderOKFlag;
+ }
+
+ /**
+ * Sets the value of the cardReaderOKFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setCardReaderOKFlag(Boolean value) {
+ this.cardReaderOKFlag = value;
+ }
+
+ /**
+ * Gets the value of the printerStatus property.
+ *
+ * @return possible object is {@link PrinterStatusType }
+ */
+ public PrinterStatusType getPrinterStatus() {
+ return printerStatus;
+ }
+
+ /**
+ * Sets the value of the printerStatus property.
+ *
+ * @param value allowed object is {@link PrinterStatusType }
+ */
+ public void setPrinterStatus(PrinterStatusType value) {
+ this.printerStatus = value;
+ }
+
+ /**
+ * Gets the value of the communicationOKFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public Boolean isCommunicationOKFlag() {
+ return communicationOKFlag;
+ }
+
+ /**
+ * Sets the value of the communicationOKFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setCommunicationOKFlag(Boolean value) {
+ this.communicationOKFlag = value;
+ }
+
+ /**
+ * Gets the value of the fraudPreventionFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public Boolean isFraudPreventionFlag() {
+ return fraudPreventionFlag;
+ }
+
+ /**
+ * Sets the value of the fraudPreventionFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setFraudPreventionFlag(Boolean value) {
+ this.fraudPreventionFlag = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/POISystemData.java b/src/main/java/com/adyen/model/nexo/POISystemData.java
new file mode 100644
index 000000000..f8efd4e16
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/POISystemData.java
@@ -0,0 +1,142 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * Definition: Information related to the POI System -- Usage: In the Login messageType response, the data structure contains information related to the POI System fixed for the session or defined as default value.
+ *
+ * Java class for POISystemData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="POISystemData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DateTime" type="{}DateTime"/>
+ * <element name="POISoftware" type="{}POISoftware"/>
+ * <element name="POITerminalData" type="{}POITerminalData" minOccurs="0"/>
+ * <element name="POIStatus" type="{}POIStatus" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "POISystemData", propOrder = {
+ "dateTime",
+ "poiSoftware",
+ "poiTerminalData",
+ "poiStatus"
+})
+public class POISystemData {
+
+ /**
+ * The Date time.
+ */
+ @XmlElement(name = "DateTime", required = true)
+ @Schema(description = "Date and Time")
+ @XmlSchemaType(name = "dateTime")
+ protected XMLGregorianCalendar dateTime;
+ /**
+ * The Poi software.
+ */
+ @XmlElement(name = "POISoftware", required = true)
+ @Schema(description = "Information related to the software of the POI System which manages the Sale to POI protocol.")
+ protected POISoftware poiSoftware;
+ /**
+ * The Poi terminal data.
+ */
+ @XmlElement(name = "POITerminalData")
+ @Schema(description = "Information related to the software and hardware feature of the POI Terminal --Rule: Present if the login involve a POI Terminal")
+ protected POITerminalData poiTerminalData;
+ /**
+ * The Poi status.
+ */
+ @XmlElement(name = "POIStatus")
+ @Schema(description = "State of a POI Terminal. --Rule: if Response.Result is Success")
+ protected POIStatus poiStatus;
+
+ /**
+ * Gets the value of the dateTime property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ */
+ public XMLGregorianCalendar getDateTime() {
+ return dateTime;
+ }
+
+ /**
+ * Sets the value of the dateTime property.
+ *
+ * @param value allowed object is {@link XMLGregorianCalendar }
+ */
+ public void setDateTime(XMLGregorianCalendar value) {
+ this.dateTime = value;
+ }
+
+ /**
+ * Gets the value of the poiSoftware property.
+ *
+ * @return possible object is {@link POISoftware }
+ */
+ public POISoftware getPOISoftware() {
+ return poiSoftware;
+ }
+
+ /**
+ * Sets the value of the poiSoftware property.
+ *
+ * @param value allowed object is {@link POISoftware }
+ */
+ public void setPOISoftware(POISoftware value) {
+ this.poiSoftware = value;
+ }
+
+ /**
+ * Gets the value of the poiTerminalData property.
+ *
+ * @return possible object is {@link POITerminalData }
+ */
+ public POITerminalData getPOITerminalData() {
+ return poiTerminalData;
+ }
+
+ /**
+ * Sets the value of the poiTerminalData property.
+ *
+ * @param value allowed object is {@link POITerminalData }
+ */
+ public void setPOITerminalData(POITerminalData value) {
+ this.poiTerminalData = value;
+ }
+
+ /**
+ * Gets the value of the poiStatus property.
+ *
+ * @return possible object is {@link POIStatus }
+ */
+ public POIStatus getPOIStatus() {
+ return poiStatus;
+ }
+
+ /**
+ * Sets the value of the poiStatus property.
+ *
+ * @param value allowed object is {@link POIStatus }
+ */
+ public void setPOIStatus(POIStatus value) {
+ this.poiStatus = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/POITerminalData.java b/src/main/java/com/adyen/model/nexo/POITerminalData.java
new file mode 100644
index 000000000..3c0ca1062
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/POITerminalData.java
@@ -0,0 +1,159 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlList;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Information related to the software and hardware feature of the POI Terminal -- Usage: Allows in a session to identify the features of the POI Terminal attached to a Sale Terminal per a Login Request messageType.
+ *
+ * Java class for POITerminalData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="POITerminalData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="POICapabilities" type="{}POICapabilities"/>
+ * <element name="POIProfile" type="{}POIProfile" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="TerminalEnvironment" use="required" type="{}TerminalEnvironmentType" />
+ * <attribute name="POISerialNumber" use="required" type="{}POISerialNumber" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "POITerminalData", propOrder = {
+ "poiCapabilities",
+ "poiProfile"
+})
+public class POITerminalData {
+
+ /**
+ * The Poi capabilities.
+ */
+ @XmlList
+ @XmlElement(name = "POICapabilities", required = true)
+ @Schema(description = "Hardware capabilities of the POI Terminal.")
+ protected List poiCapabilities;
+ /**
+ * The Poi profile.
+ */
+ @XmlElement(name = "POIProfile")
+ @Schema(description = "Functional profile of the POI Terminal. --Rule: If at least one element is present. The Sale System decides if it can continue or not.")
+ protected POIProfile poiProfile;
+ /**
+ * The Terminal environment.
+ */
+ @XmlElement(name = "TerminalEnvironment", required = true)
+ @Schema(description = "Environment of the Terminal.")
+ protected TerminalEnvironmentType terminalEnvironment;
+ /**
+ * The Poi serial number.
+ */
+ @XmlElement(name = "POISerialNumber", required = true)
+ @Schema(description = "Serial number of a POI Terminal")
+ protected String poiSerialNumber;
+
+ /**
+ * Gets the value of the poiCapabilities property.
+ *
+ *
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the poiCapabilities property.
+ *
+ *
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getPOICapabilities().add(newItem);
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link POICapabilitiesType }
+ *
+ * @return the poi capabilities
+ */
+ public List getPOICapabilities() {
+ if (poiCapabilities == null) {
+ poiCapabilities = new ArrayList<>();
+ }
+ return this.poiCapabilities;
+ }
+
+ /**
+ * Gets the value of the poiProfile property.
+ *
+ * @return possible object is {@link POIProfile }
+ */
+ public POIProfile getPOIProfile() {
+ return poiProfile;
+ }
+
+ /**
+ * Sets the value of the poiProfile property.
+ *
+ * @param value allowed object is {@link POIProfile }
+ */
+ public void setPOIProfile(POIProfile value) {
+ this.poiProfile = value;
+ }
+
+ /**
+ * Gets the value of the terminalEnvironment property.
+ *
+ * @return possible object is {@link TerminalEnvironmentType }
+ */
+ public TerminalEnvironmentType getTerminalEnvironment() {
+ return terminalEnvironment;
+ }
+
+ /**
+ * Sets the value of the terminalEnvironment property.
+ *
+ * @param value allowed object is {@link TerminalEnvironmentType }
+ */
+ public void setTerminalEnvironment(TerminalEnvironmentType value) {
+ this.terminalEnvironment = value;
+ }
+
+ /**
+ * Gets the value of the poiSerialNumber property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPOISerialNumber() {
+ return poiSerialNumber;
+ }
+
+ /**
+ * Sets the value of the poiSerialNumber property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPOISerialNumber(String value) {
+ this.poiSerialNumber = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/Parameter.java b/src/main/java/com/adyen/model/nexo/Parameter.java
new file mode 100644
index 000000000..2f30a245c
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/Parameter.java
@@ -0,0 +1,54 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Parameters associated to a cryptographic algorithm -- Reference: RFC 3880: Internet X.509 Public Key Infrastructure Certificate and Certificate
+ *
+ * Java class for Parameter complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="Parameter">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="InitialisationVector" type="{}InitialisationVector" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Parameter")
+public class Parameter {
+
+ /**
+ * The Initialisation vector.
+ */
+ @XmlElement(name = "InitialisationVector")
+ protected byte[] initialisationVector;
+
+ /**
+ * Gets the value of the initialisationVector property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getInitialisationVector() {
+ return initialisationVector;
+ }
+
+ /**
+ * Sets the value of the initialisationVector property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setInitialisationVector(byte[] value) {
+ this.initialisationVector = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PaymentAccountReq.java b/src/main/java/com/adyen/model/nexo/PaymentAccountReq.java
new file mode 100644
index 000000000..2594c2dd5
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PaymentAccountReq.java
@@ -0,0 +1,116 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Data related to the account pointed by the payment card -- Usage: Information provided by the Sale System related to the payment account requesting a balance.
+ *
+ * Java class for PaymentAccountReq complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PaymentAccountReq">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="CardAcquisitionReference" type="{}TransactionIdentification" minOccurs="0"/>
+ * <element name="PaymentInstrumentData" type="{}PaymentInstrumentData" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="Account" type="{}AccountType" default="Default" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PaymentAccountReq", propOrder = {
+ "cardAcquisitionReference",
+ "paymentInstrumentData"
+})
+public class PaymentAccountReq {
+
+ /**
+ * The Card acquisition reference.
+ */
+ @XmlElement(name = "CardAcquisitionReference")
+ @Schema(description = "Reference to the last CardAcquisition, to use the same card. --Rule: if the card data comes from a previous CardAcquisition")
+ protected TransactionIdentification cardAcquisitionReference;
+ /**
+ * The Payment instrument data.
+ */
+ @XmlElement(name = "PaymentInstrumentData")
+ @Schema(description = "Data related to the instrument of payment for the transaction.")
+ protected PaymentInstrumentData paymentInstrumentData;
+ /**
+ * The Account.
+ */
+ @XmlElement(name = "AccountType")
+ @Schema(description = "Type of cardholder account used for the transaction")
+ protected AccountType accountType;
+
+ /**
+ * Gets the value of the cardAcquisitionReference property.
+ *
+ * @return possible object is {@link TransactionIdentification }
+ */
+ public TransactionIdentification getCardAcquisitionReference() {
+ return cardAcquisitionReference;
+ }
+
+ /**
+ * Sets the value of the cardAcquisitionReference property.
+ *
+ * @param value allowed object is {@link TransactionIdentification }
+ */
+ public void setCardAcquisitionReference(TransactionIdentification value) {
+ this.cardAcquisitionReference = value;
+ }
+
+ /**
+ * Gets the value of the paymentInstrumentData property.
+ *
+ * @return possible object is {@link PaymentInstrumentData }
+ */
+ public PaymentInstrumentData getPaymentInstrumentData() {
+ return paymentInstrumentData;
+ }
+
+ /**
+ * Sets the value of the paymentInstrumentData property.
+ *
+ * @param value allowed object is {@link PaymentInstrumentData }
+ */
+ public void setPaymentInstrumentData(PaymentInstrumentData value) {
+ this.paymentInstrumentData = value;
+ }
+
+ /**
+ * Gets the value of the AccountType property.
+ *
+ * @return possible object is {@link AccountType }
+ */
+ public AccountType getAccountType() {
+ if (accountType == null) {
+ return AccountType.DEFAULT;
+ } else {
+ return accountType;
+ }
+ }
+
+ /**
+ * Sets the value of the AccountType property.
+ *
+ * @param value allowed object is {@link AccountType }
+ */
+ public void setAccountType(AccountType value) {
+ this.accountType = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PaymentAccountStatus.java b/src/main/java/com/adyen/model/nexo/PaymentAccountStatus.java
new file mode 100644
index 000000000..819328563
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PaymentAccountStatus.java
@@ -0,0 +1,164 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+
+
+/**
+ * Definition: Data related to the result of a Balance Inquiry request.
+ *
+ * Java class for PaymentAccountStatus complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PaymentAccountStatus">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="PaymentInstrumentData" type="{}PaymentInstrumentData" minOccurs="0"/>
+ * <element name="PaymentAcquirerData" type="{}PaymentAcquirerData" minOccurs="0"/>
+ * <element name="LoyaltyAccountStatus" type="{}LoyaltyAccountStatus" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="Currency" type="{}ISOCurrency3A" />
+ * <attribute name="CurrentBalance" type="{}SimpleAmountType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PaymentAccountStatus", propOrder = {
+ "paymentInstrumentData",
+ "paymentAcquirerData",
+ "loyaltyAccountStatus"
+})
+public class PaymentAccountStatus {
+
+ /**
+ * The Payment instrument data.
+ */
+ @XmlElement(name = "PaymentInstrumentData")
+ @Schema(description = "Data related to the instrument of payment for the transaction. --Rule: If a payment instrument is analysed")
+ protected PaymentInstrumentData paymentInstrumentData;
+ /**
+ * The Payment acquirer data.
+ */
+ @XmlElement(name = "PaymentAcquirerData")
+ @Schema(description = "Data related to the response from the payment Acquirer. --Rule: If a card is analysed")
+ protected PaymentAcquirerData paymentAcquirerData;
+ /**
+ * The Loyalty account status.
+ */
+ @XmlElement(name = "LoyaltyAccountStatus")
+ @Schema(description = "Data related to the result of a loyalty Balance Inquiry. --Rule: If PaymentInstrumentData absent and Result is Success")
+ protected LoyaltyAccountStatus loyaltyAccountStatus;
+ /**
+ * The Currency.
+ */
+ @XmlElement(name = "Currency")
+ @Schema(description = "Currency of a monetary amount. --Rule: If PaymentInstrumentData present and Result is Success")
+ protected String currency;
+ /**
+ * The Current balance.
+ */
+ @XmlElement(name = "CurrentBalance")
+ @Schema(description = "Balance of an account. --Rule: If PaymentInstrumentData present and Result is Success")
+ protected BigDecimal currentBalance;
+
+ /**
+ * Gets the value of the paymentInstrumentData property.
+ *
+ * @return possible object is {@link PaymentInstrumentData }
+ */
+ public PaymentInstrumentData getPaymentInstrumentData() {
+ return paymentInstrumentData;
+ }
+
+ /**
+ * Sets the value of the paymentInstrumentData property.
+ *
+ * @param value allowed object is {@link PaymentInstrumentData }
+ */
+ public void setPaymentInstrumentData(PaymentInstrumentData value) {
+ this.paymentInstrumentData = value;
+ }
+
+ /**
+ * Gets the value of the paymentAcquirerData property.
+ *
+ * @return possible object is {@link PaymentAcquirerData }
+ */
+ public PaymentAcquirerData getPaymentAcquirerData() {
+ return paymentAcquirerData;
+ }
+
+ /**
+ * Sets the value of the paymentAcquirerData property.
+ *
+ * @param value allowed object is {@link PaymentAcquirerData }
+ */
+ public void setPaymentAcquirerData(PaymentAcquirerData value) {
+ this.paymentAcquirerData = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyAccountStatus property.
+ *
+ * @return possible object is {@link LoyaltyAccountStatus }
+ */
+ public LoyaltyAccountStatus getLoyaltyAccountStatus() {
+ return loyaltyAccountStatus;
+ }
+
+ /**
+ * Sets the value of the loyaltyAccountStatus property.
+ *
+ * @param value allowed object is {@link LoyaltyAccountStatus }
+ */
+ public void setLoyaltyAccountStatus(LoyaltyAccountStatus value) {
+ this.loyaltyAccountStatus = value;
+ }
+
+ /**
+ * Gets the value of the currency property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCurrency() {
+ return currency;
+ }
+
+ /**
+ * Sets the value of the currency property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCurrency(String value) {
+ this.currency = value;
+ }
+
+ /**
+ * Gets the value of the currentBalance property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getCurrentBalance() {
+ return currentBalance;
+ }
+
+ /**
+ * Sets the value of the currentBalance property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setCurrentBalance(BigDecimal value) {
+ this.currentBalance = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PaymentAcquirerData.java b/src/main/java/com/adyen/model/nexo/PaymentAcquirerData.java
new file mode 100644
index 000000000..e47a504e9
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PaymentAcquirerData.java
@@ -0,0 +1,162 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Data related to the response from the payment Acquirer.
+ *
+ * Java class for PaymentAcquirerData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PaymentAcquirerData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="AcquirerTransactionID" type="{}TransactionIdentification" minOccurs="0"/>
+ * <element name="ApprovalCode" type="{}ApprovalCode" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="AcquirerID" type="{}AcquirerID" />
+ * <attribute name="MerchantID" use="required" type="{}MerchantID" />
+ * <attribute name="AcquirerPOIID" use="required" type="{}AcquirerPOIID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PaymentAcquirerData", propOrder = {
+ "acquirerTransactionID",
+ "approvalCode"
+})
+public class PaymentAcquirerData {
+
+ /**
+ * The Acquirer transaction id.
+ */
+ @XmlElement(name = "AcquirerTransactionID")
+ @Schema(description = "Identification of the Transaction for the Acquirer. --Rule: If provided by the Acquirer")
+ protected TransactionIdentification acquirerTransactionID;
+ /**
+ * The Approval code.
+ */
+ @XmlElement(name = "ApprovalCode")
+ @Schema(description = "Code assigned to a transaction approval by the Acquirer. --Rule: If available")
+ protected String approvalCode;
+ /**
+ * The Acquirer id.
+ */
+ @XmlElement(name = "AcquirerID")
+ @Schema(description = "Identification of the Acquirer --Rule: If several Acquirers")
+ protected String acquirerID;
+ /**
+ * The Merchant id.
+ */
+ @XmlElement(name = "MerchantID", required = true)
+ @Schema(description = "Identification of the Merchant for the Acquirer")
+ protected String merchantID;
+ /**
+ * The Acquirer poiid.
+ */
+ @XmlElement(name = "AcquirerPOIID", required = true)
+ @Schema(description = "Identification of the POI for the payment Acquirer")
+ protected String acquirerPOIID;
+
+ /**
+ * Gets the value of the acquirerTransactionID property.
+ *
+ * @return possible object is {@link TransactionIdentification }
+ */
+ public TransactionIdentification getAcquirerTransactionID() {
+ return acquirerTransactionID;
+ }
+
+ /**
+ * Sets the value of the acquirerTransactionID property.
+ *
+ * @param value allowed object is {@link TransactionIdentification }
+ */
+ public void setAcquirerTransactionID(TransactionIdentification value) {
+ this.acquirerTransactionID = value;
+ }
+
+ /**
+ * Gets the value of the approvalCode property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getApprovalCode() {
+ return approvalCode;
+ }
+
+ /**
+ * Sets the value of the approvalCode property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setApprovalCode(String value) {
+ this.approvalCode = value;
+ }
+
+ /**
+ * Gets the value of the acquirerID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getAcquirerID() {
+ return acquirerID;
+ }
+
+ /**
+ * Sets the value of the acquirerID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setAcquirerID(String value) {
+ this.acquirerID = value;
+ }
+
+ /**
+ * Gets the value of the merchantID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getMerchantID() {
+ return merchantID;
+ }
+
+ /**
+ * Sets the value of the merchantID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setMerchantID(String value) {
+ this.merchantID = value;
+ }
+
+ /**
+ * Gets the value of the acquirerPOIID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getAcquirerPOIID() {
+ return acquirerPOIID;
+ }
+
+ /**
+ * Sets the value of the acquirerPOIID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setAcquirerPOIID(String value) {
+ this.acquirerPOIID = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PaymentData.java b/src/main/java/com/adyen/model/nexo/PaymentData.java
new file mode 100644
index 000000000..4f874aba6
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PaymentData.java
@@ -0,0 +1,223 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Data related to the payment transaction. -- Usage: Elements requested by the Sale System that are related to the payment only.
+ *
+ * Java class for PaymentData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PaymentData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="CardAcquisitionReference" type="{}TransactionIdentification" minOccurs="0"/>
+ * <element name="RequestedValidityDate" type="{}ISODate" minOccurs="0"/>
+ * <element name="Instalment" type="{}Instalment" minOccurs="0"/>
+ * <element name="CustomerOrder" type="{}CustomerOrder" minOccurs="0"/>
+ * <element name="PaymentInstrumentData" type="{}PaymentInstrumentData" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="Payment" type="{}PaymentType" default="Normal" />
+ * <attribute name="SplitPaymentFlag" type="{}SplitPaymentFlag" default="false" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PaymentData", propOrder = {
+ "cardAcquisitionReference",
+ "requestedValidityDate",
+ "instalment",
+ "customerOrder",
+ "paymentInstrumentData"
+})
+public class PaymentData {
+
+ /**
+ * The Card acquisition reference.
+ */
+ @XmlElement(name = "CardAcquisitionReference")
+ @Schema(description = "Reference to the last CardAcquisition, to use the same card. --Rule: if the card data comes from a previous CardAcquisition")
+ protected TransactionIdentification cardAcquisitionReference;
+ /**
+ * The Requested validity date.
+ */
+ @XmlElement(name = "RequestedValidityDate")
+ @Schema(description = "Requested validity date for the reservation. --Rule: If time period of the OneTimeReservation, FirstReservation or UpdateReservation is requested")
+ protected String requestedValidityDate;
+ /**
+ * The Instalment.
+ */
+ @XmlElement(name = "Instalment")
+ @Schema(description = "Information related an instalment transaction. --Rule: If PaymentType is \"Instalment\" or \"IssuerInstalment\"")
+ protected Instalment instalment;
+ /**
+ * The Customer order.
+ */
+ @XmlElement(name = "CustomerOrder")
+ @Schema(description = "Customer order attached to a card, recorded in the POI system. --Rule: If a customer orders has to be created.")
+ protected CustomerOrder customerOrder;
+ /**
+ * The Payment instrument data.
+ */
+ @XmlElement(name = "PaymentInstrumentData")
+ @Schema(description = "Data related to the instrument of payment for the transaction. --Rule: If payment instrument data are read by the Sale System")
+ protected PaymentInstrumentData paymentInstrumentData;
+ /**
+ * The Payment.
+ */
+ @XmlElement(name = "PaymentType")
+ @Schema(description = "Type of payment transaction.")
+ protected PaymentType paymentType;
+ /**
+ * The Split payment flag.
+ */
+ @XmlElement(name = "SplitPaymentFlag")
+ @Schema(description = "Indicates if the payment of the Sale transaction is split.")
+ protected Boolean splitPaymentFlag;
+
+ /**
+ * Gets the value of the cardAcquisitionReference property.
+ *
+ * @return possible object is {@link TransactionIdentification }
+ */
+ public TransactionIdentification getCardAcquisitionReference() {
+ return cardAcquisitionReference;
+ }
+
+ /**
+ * Sets the value of the cardAcquisitionReference property.
+ *
+ * @param value allowed object is {@link TransactionIdentification }
+ */
+ public void setCardAcquisitionReference(TransactionIdentification value) {
+ this.cardAcquisitionReference = value;
+ }
+
+ /**
+ * Gets the value of the requestedValidityDate property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getRequestedValidityDate() {
+ return requestedValidityDate;
+ }
+
+ /**
+ * Sets the value of the requestedValidityDate property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setRequestedValidityDate(String value) {
+ this.requestedValidityDate = value;
+ }
+
+ /**
+ * Gets the value of the instalment property.
+ *
+ * @return possible object is {@link Instalment }
+ */
+ public Instalment getInstalment() {
+ return instalment;
+ }
+
+ /**
+ * Sets the value of the instalment property.
+ *
+ * @param value allowed object is {@link Instalment }
+ */
+ public void setInstalment(Instalment value) {
+ this.instalment = value;
+ }
+
+ /**
+ * Gets the value of the customerOrder property.
+ *
+ * @return possible object is {@link CustomerOrder }
+ */
+ public CustomerOrder getCustomerOrder() {
+ return customerOrder;
+ }
+
+ /**
+ * Sets the value of the customerOrder property.
+ *
+ * @param value allowed object is {@link CustomerOrder }
+ */
+ public void setCustomerOrder(CustomerOrder value) {
+ this.customerOrder = value;
+ }
+
+ /**
+ * Gets the value of the paymentInstrumentData property.
+ *
+ * @return possible object is {@link PaymentInstrumentData }
+ */
+ public PaymentInstrumentData getPaymentInstrumentData() {
+ return paymentInstrumentData;
+ }
+
+ /**
+ * Sets the value of the paymentInstrumentData property.
+ *
+ * @param value allowed object is {@link PaymentInstrumentData }
+ */
+ public void setPaymentInstrumentData(PaymentInstrumentData value) {
+ this.paymentInstrumentData = value;
+ }
+
+ /**
+ * Gets the value of the PaymentType property.
+ *
+ * @return possible object is {@link PaymentType }
+ */
+ public PaymentType getPaymentType() {
+ if (paymentType == null) {
+ return PaymentType.NORMAL;
+ } else {
+ return paymentType;
+ }
+ }
+
+ /**
+ * Sets the value of the PaymentType property.
+ *
+ * @param value allowed object is {@link PaymentType }
+ */
+ public void setPaymentType(PaymentType value) {
+ this.paymentType = value;
+ }
+
+ /**
+ * Gets the value of the splitPaymentFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isSplitPaymentFlag() {
+ if (splitPaymentFlag == null) {
+ return false;
+ } else {
+ return splitPaymentFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the splitPaymentFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setSplitPaymentFlag(Boolean value) {
+ this.splitPaymentFlag = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PaymentInstrumentData.java b/src/main/java/com/adyen/model/nexo/PaymentInstrumentData.java
new file mode 100644
index 000000000..a91aba088
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PaymentInstrumentData.java
@@ -0,0 +1,183 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Data related to the instrument of payment for the transaction. -- Usage: 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. In this case, the card or type of card has to be configured to have this behaviour. It is
+ *
+ * Java class for PaymentInstrumentData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PaymentInstrumentData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="CardData" type="{}CardData" minOccurs="0"/>
+ * <element name="CheckData" type="{}CheckData" minOccurs="0"/>
+ * <element name="MobileData" type="{}MobileData" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="PaymentInstrument" use="required" type="{}PaymentInstrumentType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PaymentInstrumentData", propOrder = {
+ "cardData",
+ "checkData",
+ "mobileData"
+})
+public class PaymentInstrumentData {
+
+ /**
+ * The Card data.
+ */
+ @XmlElement(name = "CardData")
+ @Schema(description = "Information related to the payment card used for the transaction. --Rule: If PaymentInstrumentType is \"Card\"")
+ protected CardData cardData;
+ /**
+ * The Check data.
+ */
+ @XmlElement(name = "CheckData")
+ @Schema(description = "Information related to the paper check used for the transaction. --Rule: If PaymentInstrumentType is \"Check\"")
+ protected CheckData checkData;
+ /**
+ * The Mobile data.
+ */
+ @XmlElement(name = "MobileData")
+ @Schema(description = "Information related to the mobile for the payment transaction. --Rule: If PaymentInstrumentType is \"Mobile\"")
+ protected MobileData mobileData;
+ /**
+ * The Payment instrument.
+ */
+ @XmlElement(name = "PaymentInstrumentType", required = true)
+ @Schema(description = "Type of payment instrument.")
+ protected PaymentInstrumentType paymentInstrumentType;
+ /**
+ * The Stored value account id.
+ */
+ @XmlElement(name = "StoredValueAccountID")
+ protected StoredValueAccountID storedValueAccountID;
+ /**
+ * The Protected card data.
+ */
+ @XmlElement(name = "ProtectedCardData")
+ protected String protectedCardData;
+
+ /**
+ * Gets the value of the cardData property.
+ *
+ * @return possible object is {@link CardData }
+ */
+ public CardData getCardData() {
+ return cardData;
+ }
+
+ /**
+ * Sets the value of the cardData property.
+ *
+ * @param value allowed object is {@link CardData }
+ */
+ public void setCardData(CardData value) {
+ this.cardData = value;
+ }
+
+ /**
+ * Gets the value of the checkData property.
+ *
+ * @return possible object is {@link CheckData }
+ */
+ public CheckData getCheckData() {
+ return checkData;
+ }
+
+ /**
+ * Sets the value of the checkData property.
+ *
+ * @param value allowed object is {@link CheckData }
+ */
+ public void setCheckData(CheckData value) {
+ this.checkData = value;
+ }
+
+ /**
+ * Gets the value of the mobileData property.
+ *
+ * @return possible object is {@link MobileData }
+ */
+ public MobileData getMobileData() {
+ return mobileData;
+ }
+
+ /**
+ * Sets the value of the mobileData property.
+ *
+ * @param value allowed object is {@link MobileData }
+ */
+ public void setMobileData(MobileData value) {
+ this.mobileData = value;
+ }
+
+ /**
+ * Gets the value of the paymentInstrumentType property.
+ *
+ * @return possible object is {@link PaymentInstrumentType }
+ */
+ public PaymentInstrumentType getPaymentInstrumentType() {
+ return paymentInstrumentType;
+ }
+
+ /**
+ * Sets the value of the paymentInstrumentType property.
+ *
+ * @param value allowed object is {@link PaymentInstrumentType }
+ */
+ public void setPaymentInstrumentType(PaymentInstrumentType value) {
+ this.paymentInstrumentType = value;
+ }
+
+ /**
+ * Gets the value of the storedValueAccountID property.
+ *
+ * @return possible object is {@link StoredValueAccountID }
+ */
+ public StoredValueAccountID getStoredValueAccountID() {
+ return storedValueAccountID;
+ }
+
+ /**
+ * Sets the value of the storedValueAccountID property.
+ *
+ * @param value allowed object is {@link StoredValueAccountID }
+ */
+ public void setStoredValueAccountID(StoredValueAccountID value) {
+ this.storedValueAccountID = value;
+ }
+
+ /**
+ * Gets the value of the protectedCardData property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getProtectedCardData() {
+ return protectedCardData;
+ }
+
+ /**
+ * Sets the value of the protectedCardData property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setProtectedCardData(String value) {
+ this.protectedCardData = value;
+ }
+}
diff --git a/src/main/java/com/adyen/model/nexo/PaymentInstrumentType.java b/src/main/java/com/adyen/model/nexo/PaymentInstrumentType.java
new file mode 100644
index 000000000..8828da115
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PaymentInstrumentType.java
@@ -0,0 +1,94 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for PaymentInstrumentType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="PaymentInstrumentType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Card"/>
+ * <enumeration value="Check"/>
+ * <enumeration value="Mobile"/>
+ * <enumeration value="StoredValue"/>
+ * <enumeration value="Cash"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "PaymentInstrumentType")
+@XmlEnum
+public enum PaymentInstrumentType {
+
+
+ /**
+ * Payment card (credit or debit).
+ */
+ @XmlEnumValue("Card")
+ @Schema(description = "Payment card (credit or debit).")
+ CARD("Card"),
+
+ /**
+ * Paper check.
+ */
+ @XmlEnumValue("Check")
+ @Schema(description = "Paper check.")
+ CHECK("Check"),
+
+ /**
+ * Operator account accessed by a mobile phone.
+ */
+ @XmlEnumValue("Mobile")
+ @Schema(description = "Operator account accessed by a mobile phone.")
+ MOBILE("Mobile"),
+
+ /**
+ * Account accesed by a stored value instrument such as a card or a certificate.
+ */
+ @XmlEnumValue("StoredValue")
+ @Schema(description = "Account accesed by a stored value instrument such as a card or a certificate.")
+ STORED_VALUE("StoredValue"),
+
+ /**
+ * Cash managed by a cash handling system.
+ */
+ @XmlEnumValue("Cash")
+ @Schema(description = "Cash managed by a cash handling system.")
+ CASH("Cash");
+ private final String value;
+
+ PaymentInstrumentType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value payment instrument type.
+ *
+ * @param v the v
+ * @return the payment instrument type
+ */
+ public static PaymentInstrumentType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PaymentReceipt.java b/src/main/java/com/adyen/model/nexo/PaymentReceipt.java
new file mode 100644
index 000000000..d1412d5e7
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PaymentReceipt.java
@@ -0,0 +1,144 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Customer or Merchant payment receipt. -- Usage: If the payment receipts are printed by the Sale system and the POI or the Sale does not implement the Print exchange (Basic profile).
+ *
+ * Java class for PaymentReceipt complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PaymentReceipt">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="OutputContent" type="{}OutputContent"/>
+ * </sequence>
+ * <attribute name="DocumentQualifier" use="required" type="{}DocumentQualifierType" />
+ * <attribute name="IntegratedPrintFlag" type="{}IntegratedPrintFlag" default="false" />
+ * <attribute name="RequiredSignatureFlag" type="{}RequiredSignatureFlag" default="false" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PaymentReceipt", propOrder = {
+ "outputContent"
+})
+public class PaymentReceipt {
+
+ /**
+ * The Output content.
+ */
+ @XmlElement(name = "OutputContent", required = true)
+ @Schema(description = "Content to display or print.")
+ protected OutputContent outputContent;
+ /**
+ * The Document qualifier.
+ */
+ @XmlElement(name = "DocumentQualifier", required = true)
+ @Schema(description = "Qualification of the document to print to the Cashier or the Customer. --Rule: SaleReceipt or CashierReceipt")
+ protected DocumentQualifierType documentQualifier;
+ /**
+ * The Integrated print flag.
+ */
+ @XmlElement(name = "IntegratedPrintFlag")
+ @Schema(description = "Type of the print integrated to other prints.")
+ protected Boolean integratedPrintFlag;
+ /**
+ * The Required signature flag.
+ */
+ @XmlElement(name = "RequiredSignatureFlag")
+ @Schema(description = "Indicate that the cardholder payment receipt requires a physical signature by the Customer.")
+ protected Boolean requiredSignatureFlag;
+
+ /**
+ * Gets the value of the outputContent property.
+ *
+ * @return possible object is {@link OutputContent }
+ */
+ public OutputContent getOutputContent() {
+ return outputContent;
+ }
+
+ /**
+ * Sets the value of the outputContent property.
+ *
+ * @param value allowed object is {@link OutputContent }
+ */
+ public void setOutputContent(OutputContent value) {
+ this.outputContent = value;
+ }
+
+ /**
+ * Gets the value of the documentQualifier property.
+ *
+ * @return possible object is {@link DocumentQualifierType }
+ */
+ public DocumentQualifierType getDocumentQualifier() {
+ return documentQualifier;
+ }
+
+ /**
+ * Sets the value of the documentQualifier property.
+ *
+ * @param value allowed object is {@link DocumentQualifierType }
+ */
+ public void setDocumentQualifier(DocumentQualifierType value) {
+ this.documentQualifier = value;
+ }
+
+ /**
+ * Gets the value of the integratedPrintFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isIntegratedPrintFlag() {
+ if (integratedPrintFlag == null) {
+ return false;
+ } else {
+ return integratedPrintFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the integratedPrintFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setIntegratedPrintFlag(Boolean value) {
+ this.integratedPrintFlag = value;
+ }
+
+ /**
+ * Gets the value of the requiredSignatureFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isRequiredSignatureFlag() {
+ if (requiredSignatureFlag == null) {
+ return false;
+ } else {
+ return requiredSignatureFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the requiredSignatureFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setRequiredSignatureFlag(Boolean value) {
+ this.requiredSignatureFlag = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PaymentRequest.java b/src/main/java/com/adyen/model/nexo/PaymentRequest.java
new file mode 100644
index 000000000..04091ac07
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PaymentRequest.java
@@ -0,0 +1,152 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Payment Request messageType. -- Usage: It conveys Information related to the Payment transaction to process
+ *
+ * Java class for PaymentRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PaymentRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SaleData" type="{}SaleData"/>
+ * <element name="PaymentTransaction" type="{}PaymentTransaction"/>
+ * <element name="PaymentData" type="{}PaymentData" minOccurs="0"/>
+ * <element name="LoyaltyData" type="{}LoyaltyData" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PaymentRequest", propOrder = {
+ "saleData",
+ "paymentTransaction",
+ "paymentData",
+ "loyaltyData"
+})
+public class PaymentRequest {
+
+ /**
+ * The Sale data.
+ */
+ @XmlElement(name = "SaleData", required = true)
+ @Schema(description = "Data related to the Sale System.")
+ protected SaleData saleData;
+ /**
+ * The Payment transaction.
+ */
+ @XmlElement(name = "PaymentTransaction", required = true)
+ @Schema(description = "Data related to the payment and loyalty transaction.")
+ protected PaymentTransaction paymentTransaction;
+ /**
+ * The Payment data.
+ */
+ @XmlElement(name = "PaymentData")
+ @Schema(description = "Data related to the payment transaction. --Rule: If one data element is present")
+ protected PaymentData paymentData;
+ /**
+ * The Loyalty data.
+ */
+ @XmlElement(name = "LoyaltyData")
+ @Schema(description = "Data related to a Loyalty program or account. --Rule: Loyalty cards used with the payment transaction and read by the Sale System")
+ protected List loyaltyData;
+
+ /**
+ * Gets the value of the saleData property.
+ *
+ * @return possible object is {@link SaleData }
+ */
+ public SaleData getSaleData() {
+ return saleData;
+ }
+
+ /**
+ * Sets the value of the saleData property.
+ *
+ * @param value allowed object is {@link SaleData }
+ */
+ public void setSaleData(SaleData value) {
+ this.saleData = value;
+ }
+
+ /**
+ * Gets the value of the paymentTransaction property.
+ *
+ * @return possible object is {@link PaymentTransaction }
+ */
+ public PaymentTransaction getPaymentTransaction() {
+ return paymentTransaction;
+ }
+
+ /**
+ * Sets the value of the paymentTransaction property.
+ *
+ * @param value allowed object is {@link PaymentTransaction }
+ */
+ public void setPaymentTransaction(PaymentTransaction value) {
+ this.paymentTransaction = value;
+ }
+
+ /**
+ * Gets the value of the paymentData property.
+ *
+ * @return possible object is {@link PaymentData }
+ */
+ public PaymentData getPaymentData() {
+ return paymentData;
+ }
+
+ /**
+ * Sets the value of the paymentData property.
+ *
+ * @param value allowed object is {@link PaymentData }
+ */
+ public void setPaymentData(PaymentData value) {
+ this.paymentData = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyData property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the loyaltyData property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getLoyaltyData().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link LoyaltyData }
+ *
+ * @return the loyalty data
+ */
+ public List getLoyaltyData() {
+ if (loyaltyData == null) {
+ loyaltyData = new ArrayList<>();
+ }
+ return this.loyaltyData;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PaymentResponse.java b/src/main/java/com/adyen/model/nexo/PaymentResponse.java
new file mode 100644
index 000000000..374ce4534
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PaymentResponse.java
@@ -0,0 +1,252 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Payment Response messageType. -- Usage: It conveys Information related to the Payment transaction processed by the POI System
+ *
+ * Java class for PaymentResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PaymentResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * <element name="SaleData" type="{}SaleData"/>
+ * <element name="POIData" type="{}POIData"/>
+ * <element name="PaymentResult" type="{}PaymentResult" minOccurs="0"/>
+ * <element name="LoyaltyResult" type="{}LoyaltyResult" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="PaymentReceipt" type="{}PaymentReceipt" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="CustomerOrder" type="{}CustomerOrder" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PaymentResponse", propOrder = {
+ "response",
+ "saleData",
+ "poiData",
+ "paymentResult",
+ "loyaltyResult",
+ "paymentReceipt",
+ "customerOrder"
+})
+public class PaymentResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Sale data.
+ */
+ @XmlElement(name = "SaleData", required = true)
+ @Schema(description = "Data related to the Sale System. --Rule: Copy")
+ protected SaleData saleData;
+ /**
+ * The Poi data.
+ */
+ @XmlElement(name = "POIData", required = true)
+ @Schema(description = "Data related to the POI System.")
+ protected POIData poiData;
+ /**
+ * The Payment result.
+ */
+ @XmlElement(name = "PaymentResult")
+ @Schema(description = "Data related to the result of a processed payment transaction. --Rule: If one data element is present")
+ protected PaymentResult paymentResult;
+ /**
+ * The Loyalty result.
+ */
+ @XmlElement(name = "LoyaltyResult")
+ @Schema(description = "Data related to the result of a processed loyalty transaction. --Rule: Loyalty cards used with the payment transaction")
+ protected List loyaltyResult;
+ /**
+ * The Payment receipt.
+ */
+ @XmlElement(name = "PaymentReceipt")
+ @Schema(description = "Customer or Merchant payment receipt. --Rule: If Basic profile implementation with no printer on the POI.")
+ protected List paymentReceipt;
+ /**
+ * The Customer order.
+ */
+ @XmlElement(name = "CustomerOrder")
+ @Schema(description = "Customer order attached to a card, recorded in the POI system. --Rule: If the list of customer orders has been requested.")
+ protected List customerOrder;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the saleData property.
+ *
+ * @return possible object is {@link SaleData }
+ */
+ public SaleData getSaleData() {
+ return saleData;
+ }
+
+ /**
+ * Sets the value of the saleData property.
+ *
+ * @param value allowed object is {@link SaleData }
+ */
+ public void setSaleData(SaleData value) {
+ this.saleData = value;
+ }
+
+ /**
+ * Gets the value of the poiData property.
+ *
+ * @return possible object is {@link POIData }
+ */
+ public POIData getPOIData() {
+ return poiData;
+ }
+
+ /**
+ * Sets the value of the poiData property.
+ *
+ * @param value allowed object is {@link POIData }
+ */
+ public void setPOIData(POIData value) {
+ this.poiData = value;
+ }
+
+ /**
+ * Gets the value of the paymentResult property.
+ *
+ * @return possible object is {@link PaymentResult }
+ */
+ public PaymentResult getPaymentResult() {
+ return paymentResult;
+ }
+
+ /**
+ * Sets the value of the paymentResult property.
+ *
+ * @param value allowed object is {@link PaymentResult }
+ */
+ public void setPaymentResult(PaymentResult value) {
+ this.paymentResult = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyResult property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the loyaltyResult property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getLoyaltyResult().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link LoyaltyResult }
+ *
+ * @return the loyalty result
+ */
+ public List getLoyaltyResult() {
+ if (loyaltyResult == null) {
+ loyaltyResult = new ArrayList<>();
+ }
+ return this.loyaltyResult;
+ }
+
+ /**
+ * Gets the value of the paymentReceipt property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the paymentReceipt property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getPaymentReceipt().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link PaymentReceipt }
+ *
+ * @return the payment receipt
+ */
+ public List getPaymentReceipt() {
+ if (paymentReceipt == null) {
+ paymentReceipt = new ArrayList<>();
+ }
+ return this.paymentReceipt;
+ }
+
+ /**
+ * Gets the value of the customerOrder property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the customerOrder property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getCustomerOrder().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link CustomerOrder }
+ *
+ * @return the customer order
+ */
+ public List getCustomerOrder() {
+ if (customerOrder == null) {
+ customerOrder = new ArrayList<>();
+ }
+ return this.customerOrder;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PaymentResult.java b/src/main/java/com/adyen/model/nexo/PaymentResult.java
new file mode 100644
index 000000000..297c8c52b
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PaymentResult.java
@@ -0,0 +1,403 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Data related to the result of a processed payment transaction. -- Usage: In the Message Response, the result of card payment transaction.
+ *
+ * Java class for PaymentResult complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PaymentResult">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="PaymentInstrumentData" type="{}PaymentInstrumentData" minOccurs="0"/>
+ * <element name="AmountsResp" type="{}AmountsResp" minOccurs="0"/>
+ * <element name="Instalment" type="{}Instalment" minOccurs="0"/>
+ * <element name="CurrencyConversion" type="{}CurrencyConversion" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="CapturedSignature" type="{}CapturedSignature" minOccurs="0"/>
+ * <element name="ProtectedSignature" type="{}ContentInformation" minOccurs="0"/>
+ * <element name="PaymentAcquirerData" type="{}PaymentAcquirerData" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="Payment" type="{}PaymentType" default="Normal" />
+ * <attribute name="MerchantOverrideFlag" type="{}MerchantOverrideFlag" default="false" />
+ * <attribute name="CustomerLanguage" type="{}ISOLanguage2A" />
+ * <attribute name="OnlineFlag" type="{}OnlineFlag" default="true" />
+ * <attribute name="AuthenticationMethod" type="{}AuthenticationMethod" />
+ * <attribute name="ValidityDate" type="{}ISODate" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PaymentResult", propOrder = {
+ "paymentInstrumentData",
+ "amountsResp",
+ "instalment",
+ "currencyConversion",
+ "capturedSignature",
+ "protectedSignature",
+ "paymentAcquirerData"
+})
+public class PaymentResult {
+
+ /**
+ * The Payment instrument data.
+ */
+ @XmlElement(name = "PaymentInstrumentData")
+ @Schema(description = "Data related to the instrument of payment for the transaction. --Rule: If a payment instrument is analysed by the POI")
+ protected PaymentInstrumentData paymentInstrumentData;
+ /**
+ * The Amounts resp.
+ */
+ @XmlElement(name = "AmountsResp")
+ @Schema(description = "Various amounts related to the payment response from the POI System. --Rule: If Result is Success or Partial")
+ protected AmountsResp amountsResp;
+ /**
+ * The Instalment.
+ */
+ @XmlElement(name = "Instalment")
+ @Schema(description = "Information related an instalment transaction. --Rule: Absent if PaymentType is not \"IssuerInstalment\"")
+ protected Instalment instalment;
+ /**
+ * The Currency conversion.
+ */
+ @XmlElement(name = "CurrencyConversion")
+ @Schema(description = "Information related to a currency conversion --Rule: If currency conversion the Sale needs to know")
+ protected List currencyConversion;
+ /**
+ * The Captured signature.
+ */
+ @XmlElement(name = "CapturedSignature")
+ @Schema(description = "Numeric value of a handwritten signature. --Rule: If handwritten signature is captured on the POI by a signature capture device.")
+ protected CapturedSignature capturedSignature;
+ /**
+ * The Protected signature.
+ */
+ @XmlElement(name = "ProtectedSignature")
+ @Schema(description = "Numeric value of a handwritten signature. --Rule: Encrypted handwritten signature captured on the POI by a signature capture device.")
+ protected ContentInformation protectedSignature;
+ /**
+ * The Payment acquirer data.
+ */
+ @XmlElement(name = "PaymentAcquirerData")
+ @Schema(description = "Data related to the response from the payment Acquirer. --Rule: If a card is analysed and data available")
+ protected PaymentAcquirerData paymentAcquirerData;
+ /**
+ * The Payment type.
+ */
+ @XmlElement(name = "PaymentType")
+ @Schema(description = "Type of payment transaction. --Rule: Copy")
+ protected PaymentType paymentType;
+ /**
+ * The Merchant override flag.
+ */
+ @XmlElement(name = "MerchantOverrideFlag")
+ @Schema(description = "Indicate that the Merchant forced the result of the payment to successfull. --Rule: If payment forced by the Cashier")
+ protected Boolean merchantOverrideFlag;
+ /**
+ * The Customer language.
+ */
+ @XmlElement(name = "CustomerLanguage")
+ @Schema(description = "Language of the Customer --Rule: If the customer language is different from the default language or different from the CustomerLanguage of the")
+ protected String customerLanguage;
+ /**
+ * The Online flag.
+ */
+ @XmlElement(name = "OnlineFlag")
+ @Schema(description = "Indicate that the payment transaction processing has required the approval of a host. --Rule: \"True\" if the payment transaction processing has required the approval of a host.")
+ protected Boolean onlineFlag;
+ /**
+ * The Authentication method.
+ */
+ @XmlElement(name = "AuthenticationMethod")
+ @Schema(description = "Method for customer authentication. --Rule: Method for customer authentication.")
+ protected List authenticationMethod;
+ /**
+ * The Validity date.
+ */
+ @XmlElement(name = "ValidityDate")
+ @Schema(description = "End of the validity period for the reservation. --Rule: if OneTimeReservation, FirstReservation or UpdateReservation")
+ protected String validityDate;
+
+ /**
+ * Gets the value of the paymentInstrumentData property.
+ *
+ * @return possible object is {@link PaymentInstrumentData }
+ */
+ public PaymentInstrumentData getPaymentInstrumentData() {
+ return paymentInstrumentData;
+ }
+
+ /**
+ * Sets the value of the paymentInstrumentData property.
+ *
+ * @param value allowed object is {@link PaymentInstrumentData }
+ */
+ public void setPaymentInstrumentData(PaymentInstrumentData value) {
+ this.paymentInstrumentData = value;
+ }
+
+ /**
+ * Gets the value of the amountsResp property.
+ *
+ * @return possible object is {@link AmountsResp }
+ */
+ public AmountsResp getAmountsResp() {
+ return amountsResp;
+ }
+
+ /**
+ * Sets the value of the amountsResp property.
+ *
+ * @param value allowed object is {@link AmountsResp }
+ */
+ public void setAmountsResp(AmountsResp value) {
+ this.amountsResp = value;
+ }
+
+ /**
+ * Gets the value of the instalment property.
+ *
+ * @return possible object is {@link Instalment }
+ */
+ public Instalment getInstalment() {
+ return instalment;
+ }
+
+ /**
+ * Sets the value of the instalment property.
+ *
+ * @param value allowed object is {@link Instalment }
+ */
+ public void setInstalment(Instalment value) {
+ this.instalment = value;
+ }
+
+ /**
+ * Gets the value of the currencyConversion property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the currencyConversion property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getCurrencyConversion().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link CurrencyConversion }
+ *
+ * @return the currency conversion
+ */
+ public List getCurrencyConversion() {
+ if (currencyConversion == null) {
+ currencyConversion = new ArrayList<>();
+ }
+ return this.currencyConversion;
+ }
+
+ /**
+ * Gets the value of the capturedSignature property.
+ *
+ * @return possible object is {@link CapturedSignature }
+ */
+ public CapturedSignature getCapturedSignature() {
+ return capturedSignature;
+ }
+
+ /**
+ * Sets the value of the capturedSignature property.
+ *
+ * @param value allowed object is {@link CapturedSignature }
+ */
+ public void setCapturedSignature(CapturedSignature value) {
+ this.capturedSignature = value;
+ }
+
+ /**
+ * Gets the value of the protectedSignature property.
+ *
+ * @return possible object is {@link ContentInformation }
+ */
+ public ContentInformation getProtectedSignature() {
+ return protectedSignature;
+ }
+
+ /**
+ * Sets the value of the protectedSignature property.
+ *
+ * @param value allowed object is {@link ContentInformation }
+ */
+ public void setProtectedSignature(ContentInformation value) {
+ this.protectedSignature = value;
+ }
+
+ /**
+ * Gets the value of the paymentAcquirerData property.
+ *
+ * @return possible object is {@link PaymentAcquirerData }
+ */
+ public PaymentAcquirerData getPaymentAcquirerData() {
+ return paymentAcquirerData;
+ }
+
+ /**
+ * Sets the value of the paymentAcquirerData property.
+ *
+ * @param value allowed object is {@link PaymentAcquirerData }
+ */
+ public void setPaymentAcquirerData(PaymentAcquirerData value) {
+ this.paymentAcquirerData = value;
+ }
+
+ /**
+ * Gets the value of the PaymentType property.
+ *
+ * @return possible object is {@link PaymentType }
+ */
+ public PaymentType getPaymentType() {
+ if (paymentType == null) {
+ return PaymentType.NORMAL;
+ } else {
+ return paymentType;
+ }
+ }
+
+ /**
+ * Sets the value of the PaymentType property.
+ *
+ * @param value allowed object is {@link PaymentType }
+ */
+ public void setPaymentType(PaymentType value) {
+ this.paymentType = value;
+ }
+
+ /**
+ * Gets the value of the merchantOverrideFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isMerchantOverrideFlag() {
+ if (merchantOverrideFlag == null) {
+ return false;
+ } else {
+ return merchantOverrideFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the merchantOverrideFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setMerchantOverrideFlag(Boolean value) {
+ this.merchantOverrideFlag = value;
+ }
+
+ /**
+ * Gets the value of the customerLanguage property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCustomerLanguage() {
+ return customerLanguage;
+ }
+
+ /**
+ * Sets the value of the customerLanguage property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCustomerLanguage(String value) {
+ this.customerLanguage = value;
+ }
+
+ /**
+ * Gets the value of the onlineFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isOnlineFlag() {
+ if (onlineFlag == null) {
+ return true;
+ } else {
+ return onlineFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the onlineFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setOnlineFlag(Boolean value) {
+ this.onlineFlag = value;
+ }
+
+ /**
+ * Gets the value of the authenticationMethod property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the authenticationMethod property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getAuthenticationMethod().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link AuthenticationMethodType }
+ *
+ * @return the authentication method
+ */
+ public List getAuthenticationMethod() {
+ if (authenticationMethod == null) {
+ authenticationMethod = new ArrayList<>();
+ }
+ return this.authenticationMethod;
+ }
+
+ /**
+ * Gets the value of the validityDate property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getValidityDate() {
+ return validityDate;
+ }
+
+ /**
+ * Sets the value of the validityDate property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setValidityDate(String value) {
+ this.validityDate = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PaymentToken.java b/src/main/java/com/adyen/model/nexo/PaymentToken.java
new file mode 100644
index 000000000..132e9173d
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PaymentToken.java
@@ -0,0 +1,108 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * Definition: Surrogate of the PAN (Primary Account Number) of the payment card to identify the payment mean of the customer. -- Usage: It allows, for a merchant, to identify the customer.
+ *
+ * Java class for PaymentToken complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PaymentToken">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="TokenRequested" use="required" type="{}TokenRequestedType" />
+ * <attribute name="TokenValue" use="required" type="{}TokenValue" />
+ * <attribute name="ExpiryDateTime" type="{}ExpiryDateTime" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PaymentToken")
+public class PaymentToken {
+
+ /**
+ * The Token requested.
+ */
+ @XmlElement(name = "TokenRequestedType", required = true)
+ @Schema(description = "Type of token replacing the PAN of a payment card to identify the payment mean of the customer.")
+ protected TokenRequestedType tokenRequestedType;
+ /**
+ * The Token value.
+ */
+ @XmlElement(name = "TokenValue", required = true)
+ @Schema(description = "Payment token replacing the PAN of the payment card to identify the payment mean of the customer.")
+ protected String tokenValue;
+ /**
+ * The Expiry date time.
+ */
+ @XmlElement(name = "ExpiryDateTime")
+ @Schema(description = "Expiry date and time.")
+ protected XMLGregorianCalendar expiryDateTime;
+
+ /**
+ * Gets the value of the tokenRequestedType property.
+ *
+ * @return possible object is {@link TokenRequestedType }
+ */
+ public TokenRequestedType getTokenRequestedType() {
+ return tokenRequestedType;
+ }
+
+ /**
+ * Sets the value of the tokenRequestedType property.
+ *
+ * @param value allowed object is {@link TokenRequestedType }
+ */
+ public void setTokenRequestedType(TokenRequestedType value) {
+ this.tokenRequestedType = value;
+ }
+
+ /**
+ * Gets the value of the tokenValue property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getTokenValue() {
+ return tokenValue;
+ }
+
+ /**
+ * Sets the value of the tokenValue property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setTokenValue(String value) {
+ this.tokenValue = value;
+ }
+
+ /**
+ * Gets the value of the expiryDateTime property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ */
+ public XMLGregorianCalendar getExpiryDateTime() {
+ return expiryDateTime;
+ }
+
+ /**
+ * Sets the value of the expiryDateTime property.
+ *
+ * @param value allowed object is {@link XMLGregorianCalendar }
+ */
+ public void setExpiryDateTime(XMLGregorianCalendar value) {
+ this.expiryDateTime = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PaymentTotals.java b/src/main/java/com/adyen/model/nexo/PaymentTotals.java
new file mode 100644
index 000000000..f6594e197
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PaymentTotals.java
@@ -0,0 +1,109 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
+
+/**
+ * Definition: Totals of the payment transaction during the reconciliation period.
+ *
+ * Java class for PaymentTotals complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PaymentTotals">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="Transaction" use="required" type="{}TransactionType" />
+ * <attribute name="TransactionCount" use="required" type="{}TransactionCount" />
+ * <attribute name="TransactionAmount" use="required" type="{}SimpleAmountType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PaymentTotals")
+public class PaymentTotals {
+
+ /**
+ * The Transaction.
+ */
+ @XmlElement(name = "TransactionType", required = true)
+ @Schema(description = "Type of transaction for which totals are grouped. --Rule: Debit, Credit, ReverseDebit, ReverseCredit, OneTimeReservation, CompletedDeffered, FirstReservation, UpdateReservation,")
+ protected TransactionType transactionType;
+ /**
+ * The Transaction count.
+ */
+ @XmlElement(name = "TransactionCount", required = true)
+ @Schema(description = "Number of processed transaction during the period.")
+ protected BigInteger transactionCount;
+ /**
+ * The Transaction amount.
+ */
+ @XmlElement(name = "TransactionAmount", required = true)
+ @Schema(description = "Sum of amount of processed transaction during the period.")
+ protected BigDecimal transactionAmount;
+
+ /**
+ * Gets the value of the transactionType property.
+ *
+ * @return possible object is {@link TransactionType }
+ */
+ public TransactionType getTransactionType() {
+ return transactionType;
+ }
+
+ /**
+ * Sets the value of the transactionType property.
+ *
+ * @param value allowed object is {@link TransactionType }
+ */
+ public void setTransactionType(TransactionType value) {
+ this.transactionType = value;
+ }
+
+ /**
+ * Gets the value of the transactionCount property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getTransactionCount() {
+ return transactionCount;
+ }
+
+ /**
+ * Sets the value of the transactionCount property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setTransactionCount(BigInteger value) {
+ this.transactionCount = value;
+ }
+
+ /**
+ * Gets the value of the transactionAmount property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getTransactionAmount() {
+ return transactionAmount;
+ }
+
+ /**
+ * Sets the value of the transactionAmount property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setTransactionAmount(BigDecimal value) {
+ this.transactionAmount = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PaymentTransaction.java b/src/main/java/com/adyen/model/nexo/PaymentTransaction.java
new file mode 100644
index 000000000..8ce4c3c9f
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PaymentTransaction.java
@@ -0,0 +1,152 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Data related to the payment and loyalty transaction. -- Usage: Elements requested by the Sale System that are global to the payment or loyalty transaction.
+ *
+ * Java class for PaymentTransaction complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PaymentTransaction">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="AmountsReq" type="{}AmountsReq"/>
+ * <element name="OriginalPOITransaction" type="{}OriginalPOITransaction" minOccurs="0"/>
+ * <element name="TransactionConditions" type="{}TransactionConditions" minOccurs="0"/>
+ * <element name="SaleItem" type="{}SaleItem" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PaymentTransaction", propOrder = {
+ "amountsReq",
+ "originalPOITransaction",
+ "transactionConditions",
+ "saleItem"
+})
+public class PaymentTransaction {
+
+ /**
+ * The Amounts req.
+ */
+ @XmlElement(name = "AmountsReq", required = true)
+ @Schema(description = "Various amounts related to the payment and loyalty request from the Sale System.")
+ protected AmountsReq amountsReq;
+ /**
+ * The Original poi transaction.
+ */
+ @XmlElement(name = "OriginalPOITransaction")
+ @Schema(description = "Identification of a previous POI transaction. --Rule: if UpdateReservation, Completion or Refund")
+ protected OriginalPOITransaction originalPOITransaction;
+ /**
+ * The Transaction conditions.
+ */
+ @XmlElement(name = "TransactionConditions")
+ @Schema(description = "Conditions on which the transaction must be processed. --Rule: If one data element is present")
+ protected TransactionConditions transactionConditions;
+ /**
+ * The Sale item.
+ */
+ @XmlElement(name = "SaleItem")
+ @Schema(description = "Sale items of a transaction. --Rule: If purchased products are required for the payment")
+ protected List saleItem;
+
+ /**
+ * Gets the value of the amountsReq property.
+ *
+ * @return possible object is {@link AmountsReq }
+ */
+ public AmountsReq getAmountsReq() {
+ return amountsReq;
+ }
+
+ /**
+ * Sets the value of the amountsReq property.
+ *
+ * @param value allowed object is {@link AmountsReq }
+ */
+ public void setAmountsReq(AmountsReq value) {
+ this.amountsReq = value;
+ }
+
+ /**
+ * Gets the value of the originalPOITransaction property.
+ *
+ * @return possible object is {@link OriginalPOITransaction }
+ */
+ public OriginalPOITransaction getOriginalPOITransaction() {
+ return originalPOITransaction;
+ }
+
+ /**
+ * Sets the value of the originalPOITransaction property.
+ *
+ * @param value allowed object is {@link OriginalPOITransaction }
+ */
+ public void setOriginalPOITransaction(OriginalPOITransaction value) {
+ this.originalPOITransaction = value;
+ }
+
+ /**
+ * Gets the value of the transactionConditions property.
+ *
+ * @return possible object is {@link TransactionConditions }
+ */
+ public TransactionConditions getTransactionConditions() {
+ return transactionConditions;
+ }
+
+ /**
+ * Sets the value of the transactionConditions property.
+ *
+ * @param value allowed object is {@link TransactionConditions }
+ */
+ public void setTransactionConditions(TransactionConditions value) {
+ this.transactionConditions = value;
+ }
+
+ /**
+ * Gets the value of the saleItem property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the saleItem property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getSaleItem().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link SaleItem }
+ *
+ * @return the sale item
+ */
+ public List getSaleItem() {
+ if (saleItem == null) {
+ saleItem = new ArrayList<>();
+ }
+ return this.saleItem;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PaymentType.java b/src/main/java/com/adyen/model/nexo/PaymentType.java
new file mode 100644
index 000000000..2c86c0339
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PaymentType.java
@@ -0,0 +1,150 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for PaymentType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="PaymentType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Normal"/>
+ * <enumeration value="Refund"/>
+ * <enumeration value="OneTimeReservation"/>
+ * <enumeration value="FirstReservation"/>
+ * <enumeration value="UpdateReservation"/>
+ * <enumeration value="Completion"/>
+ * <enumeration value="CashAdvance"/>
+ * <enumeration value="CashDeposit"/>
+ * <enumeration value="Recurring"/>
+ * <enumeration value="Instalment"/>
+ * <enumeration value="IssuerInstalment"/>
+ * <enumeration value="PaidOut"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "PaymentType")
+@XmlEnum
+public enum PaymentType {
+
+
+ /**
+ * Normal Payment
+ */
+ @XmlEnumValue("Normal")
+ @Schema(description = "Normal Payment")
+ NORMAL("Normal"),
+
+ /**
+ * Payment refund
+ */
+ @XmlEnumValue("Refund")
+ @Schema(description = "Payment refund")
+ REFUND("Refund"),
+
+ /**
+ * One time reservation to be just followed by a completion when the service or good is delivered. This service is sometimes called "Deferred Sale".
+ */
+ @XmlEnumValue("OneTimeReservation")
+ @Schema(description = "One time reservation to be just followed by a completion when the service or good is delivered. This service is sometimes called \"Deferred Sale\".")
+ ONE_TIME_RESERVATION("OneTimeReservation"),
+
+ /**
+ * First reservation for an amount and period of time. This service is sometimes called "Pre-Authorisation".
+ */
+ @XmlEnumValue("FirstReservation")
+ @Schema(description = "First reservation for an amount and period of time. This service is sometimes called \"Pre-Authorisation\".")
+ FIRST_RESERVATION("FirstReservation"),
+
+ /**
+ * Adjustment of the amount or period of time of a reservation.
+ */
+ @XmlEnumValue("UpdateReservation")
+ @Schema(description = "Adjustment of the amount or period of time of a reservation. ")
+ UPDATE_RESERVATION("UpdateReservation"),
+
+ /**
+ * End of the reservation transaction.
+ */
+ @XmlEnumValue("Completion")
+ @Schema(description = "End of the reservation transaction.")
+ COMPLETION("Completion"),
+
+ /**
+ * Cash advance at the POI System.
+ */
+ @XmlEnumValue("CashAdvance")
+ @Schema(description = "Cash advance at the POI System.")
+ CASH_ADVANCE("CashAdvance"),
+
+ /**
+ * Cash deposit at the POI System, to credit an account.
+ */
+ @XmlEnumValue("CashDeposit")
+ @Schema(description = "Cash deposit at the POI System, to credit an account.")
+ CASH_DEPOSIT("CashDeposit"),
+
+ /**
+ * Recurring payment.
+ */
+ @XmlEnumValue("Recurring")
+ @Schema(description = "Recurring payment.")
+ RECURRING("Recurring"),
+
+ /**
+ * Instalments of payment performed on behalf of the merchant.
+ */
+ @XmlEnumValue("Instalment")
+ @Schema(description = "Instalments of payment performed on behalf of the merchant.")
+ INSTALMENT("Instalment"),
+
+ /**
+ * Instalments of payment performed by the card issuer.
+ */
+ @XmlEnumValue("IssuerInstalment")
+ @Schema(description = "Instalments of payment performed by the card issuer.")
+ ISSUER_INSTALMENT("IssuerInstalment"),
+
+ /**
+ * Give money to in return for goods or services rendered to the merchant.
+ */
+ @XmlEnumValue("PaidOut")
+ @Schema(description = "Give money to in return for goods or services rendered to the merchant.")
+ PAID_OUT("PaidOut");
+ private final String value;
+
+ PaymentType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value payment type.
+ *
+ * @param v the v
+ * @return the payment type
+ */
+ public static PaymentType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PerformedTransaction.java b/src/main/java/com/adyen/model/nexo/PerformedTransaction.java
new file mode 100644
index 000000000..f88e5a521
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PerformedTransaction.java
@@ -0,0 +1,204 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Result of performed transactions. -- Usage: Contains result of transaction performed without the Sale system.
+ *
+ * Java class for PerformedTransaction complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PerformedTransaction">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * <element name="SaleData" type="{}SaleData" minOccurs="0"/>
+ * <element name="POIData" type="{}POIData"/>
+ * <element name="PaymentResult" type="{}PaymentResult" minOccurs="0"/>
+ * <element name="LoyaltyResult" type="{}LoyaltyResult" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="ReversedAmount" type="{}SimpleAmountType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PerformedTransaction", propOrder = {
+ "response",
+ "saleData",
+ "poiData",
+ "paymentResult",
+ "loyaltyResult"
+})
+public class PerformedTransaction {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Sale data.
+ */
+ @XmlElement(name = "SaleData")
+ @Schema(description = "Data related to the Sale System. --Rule: If a request has been generated by the Sale system.")
+ protected SaleData saleData;
+ /**
+ * The Poi data.
+ */
+ @XmlElement(name = "POIData", required = true)
+ @Schema(description = "Data related to the POI System.")
+ protected POIData poiData;
+ /**
+ * The Payment result.
+ */
+ @XmlElement(name = "PaymentResult")
+ @Schema(description = "Data related to the result of a processed payment transaction. --Rule: If a Payment transaction has been performed and one (or several) data element is present")
+ protected PaymentResult paymentResult;
+ /**
+ * The Loyalty result.
+ */
+ @XmlElement(name = "LoyaltyResult")
+ @Schema(description = "Data related to the result of a processed loyalty transaction. --Rule: If a Loyalty transaction has been performed alone or with the Payment transaction.")
+ protected List loyaltyResult;
+ /**
+ * The Reversed amount.
+ */
+ @XmlElement(name = "ReversedAmount")
+ @Schema(description = "Amount of the payment or loyalty to reverse.. --Rule: If a transaction Reversal has been performed.")
+ protected BigDecimal reversedAmount;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the saleData property.
+ *
+ * @return possible object is {@link SaleData }
+ */
+ public SaleData getSaleData() {
+ return saleData;
+ }
+
+ /**
+ * Sets the value of the saleData property.
+ *
+ * @param value allowed object is {@link SaleData }
+ */
+ public void setSaleData(SaleData value) {
+ this.saleData = value;
+ }
+
+ /**
+ * Gets the value of the poiData property.
+ *
+ * @return possible object is {@link POIData }
+ */
+ public POIData getPOIData() {
+ return poiData;
+ }
+
+ /**
+ * Sets the value of the poiData property.
+ *
+ * @param value allowed object is {@link POIData }
+ */
+ public void setPOIData(POIData value) {
+ this.poiData = value;
+ }
+
+ /**
+ * Gets the value of the paymentResult property.
+ *
+ * @return possible object is {@link PaymentResult }
+ */
+ public PaymentResult getPaymentResult() {
+ return paymentResult;
+ }
+
+ /**
+ * Sets the value of the paymentResult property.
+ *
+ * @param value allowed object is {@link PaymentResult }
+ */
+ public void setPaymentResult(PaymentResult value) {
+ this.paymentResult = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyResult property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the loyaltyResult property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getLoyaltyResult().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link LoyaltyResult }
+ *
+ * @return the loyalty result
+ */
+ public List getLoyaltyResult() {
+ if (loyaltyResult == null) {
+ loyaltyResult = new ArrayList<>();
+ }
+ return this.loyaltyResult;
+ }
+
+ /**
+ * Gets the value of the reversedAmount property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getReversedAmount() {
+ return reversedAmount;
+ }
+
+ /**
+ * Sets the value of the reversedAmount property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setReversedAmount(BigDecimal value) {
+ this.reversedAmount = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PeriodUnitType.java b/src/main/java/com/adyen/model/nexo/PeriodUnitType.java
new file mode 100644
index 000000000..550e4ee34
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PeriodUnitType.java
@@ -0,0 +1,86 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for PeriodUnitType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="PeriodUnitType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Daily"/>
+ * <enumeration value="Weekly"/>
+ * <enumeration value="Monthly"/>
+ * <enumeration value="Annual"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "PeriodUnitType")
+@XmlEnum
+public enum PeriodUnitType {
+
+
+ /**
+ * The day is the unit of the period.
+ */
+ @XmlEnumValue("Daily")
+ @Schema(description = "The day is the unit of the period.")
+ DAILY("Daily"),
+
+ /**
+ * The week is the unit of the period.
+ */
+ @XmlEnumValue("Weekly")
+ @Schema(description = "The week is the unit of the period.")
+ WEEKLY("Weekly"),
+
+ /**
+ * The month is the unit of the period.
+ */
+ @XmlEnumValue("Monthly")
+ @Schema(description = "The month is the unit of the period.")
+ MONTHLY("Monthly"),
+
+ /**
+ * The year is the unit of the period.
+ */
+ @XmlEnumValue("Annual")
+ @Schema(description = "The year is the unit of the period.")
+ ANNUAL("Annual");
+ private final String value;
+
+ PeriodUnitType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value period unit type.
+ *
+ * @param v the v
+ * @return the period unit type
+ */
+ public static PeriodUnitType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PredefinedContent.java b/src/main/java/com/adyen/model/nexo/PredefinedContent.java
new file mode 100644
index 000000000..e721aae52
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PredefinedContent.java
@@ -0,0 +1,82 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Reference of a predefined messageType to display or print. -- Usage: It conveys Information related to the predefined messageType
+ *
+ * Java class for PredefinedContent complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PredefinedContent">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="ReferenceID" use="required" type="{}ReferenceID" />
+ * <attribute name="Language" type="{}ISOLanguage2A" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PredefinedContent")
+public class PredefinedContent {
+
+ /**
+ * The Reference id.
+ */
+ @XmlElement(name = "ReferenceID", required = true)
+ @Schema(description = "Identification of a predefined message to display, print or play.")
+ protected String referenceID;
+ /**
+ * The Language.
+ */
+ @XmlElement(name = "Language")
+ @Schema(description = "Identification of a language.")
+ protected String language;
+
+ /**
+ * Gets the value of the referenceID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getReferenceID() {
+ return referenceID;
+ }
+
+ /**
+ * Sets the value of the referenceID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setReferenceID(String value) {
+ this.referenceID = value;
+ }
+
+ /**
+ * Gets the value of the language property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getLanguage() {
+ return language;
+ }
+
+ /**
+ * Sets the value of the language property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setLanguage(String value) {
+ this.language = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PrintOutput.java b/src/main/java/com/adyen/model/nexo/PrintOutput.java
new file mode 100644
index 000000000..99c5930d1
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PrintOutput.java
@@ -0,0 +1,195 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Information to print and the way to process the print. -- Usage: It contains a complete print operation for a Print Device type.
+ *
+ * Java class for PrintOutput complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PrintOutput">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="OutputContent" type="{}OutputContent"/>
+ * <element name="OutputSignature" type="{}OutputSignature" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="DocumentQualifier" use="required" type="{}DocumentQualifierType" />
+ * <attribute name="ResponseMode" use="required" type="{}ResponseModeType" />
+ * <attribute name="IntegratedPrintFlag" type="{}IntegratedPrintFlag" default="false" />
+ * <attribute name="RequiredSignatureFlag" type="{}RequiredSignatureFlag" default="false" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PrintOutput", propOrder = {
+ "outputContent",
+ "outputSignature"
+})
+public class PrintOutput {
+
+ /**
+ * The Output content.
+ */
+ @XmlElement(name = "OutputContent", required = true)
+ @Schema(description = "Content to display or print.")
+ protected OutputContent outputContent;
+ /**
+ * The Output signature.
+ */
+ @XmlElement(name = "OutputSignature")
+ @Schema(description = "Vendor specific signature of text message to display or print. --Rule: If protection has to be provided to the vendor on the text to display or print.")
+ protected byte[] outputSignature;
+ /**
+ * The Document qualifier.
+ */
+ @XmlElement(name = "DocumentQualifier", required = true)
+ @Schema(description = "Qualification of the document to print to the Cashier or the Customer.")
+ protected DocumentQualifierType documentQualifier;
+ /**
+ * The Response mode.
+ */
+ @XmlElement(name = "ResponseMode", required = true)
+ @Schema(description = "Message response awaited by the initiator of the Request")
+ protected ResponseModeType responseMode;
+ /**
+ * The Integrated print flag.
+ */
+ @XmlElement(name = "IntegratedPrintFlag")
+ @Schema(description = "Type of the print integrated to other prints.")
+ protected Boolean integratedPrintFlag;
+ /**
+ * The Required signature flag.
+ */
+ @XmlElement(name = "RequiredSignatureFlag")
+ @Schema(description = "Indicate that the cardholder payment receipt requires a physical signature by the Customer.")
+ protected Boolean requiredSignatureFlag;
+
+ /**
+ * Gets the value of the outputContent property.
+ *
+ * @return possible object is {@link OutputContent }
+ */
+ public OutputContent getOutputContent() {
+ return outputContent;
+ }
+
+ /**
+ * Sets the value of the outputContent property.
+ *
+ * @param value allowed object is {@link OutputContent }
+ */
+ public void setOutputContent(OutputContent value) {
+ this.outputContent = value;
+ }
+
+ /**
+ * Gets the value of the outputSignature property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getOutputSignature() {
+ return outputSignature;
+ }
+
+ /**
+ * Sets the value of the outputSignature property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setOutputSignature(byte[] value) {
+ this.outputSignature = value;
+ }
+
+ /**
+ * Gets the value of the documentQualifier property.
+ *
+ * @return possible object is {@link DocumentQualifierType }
+ */
+ public DocumentQualifierType getDocumentQualifier() {
+ return documentQualifier;
+ }
+
+ /**
+ * Sets the value of the documentQualifier property.
+ *
+ * @param value allowed object is {@link DocumentQualifierType }
+ */
+ public void setDocumentQualifier(DocumentQualifierType value) {
+ this.documentQualifier = value;
+ }
+
+ /**
+ * Gets the value of the responseMode property.
+ *
+ * @return possible object is {@link ResponseModeType }
+ */
+ public ResponseModeType getResponseMode() {
+ return responseMode;
+ }
+
+ /**
+ * Sets the value of the responseMode property.
+ *
+ * @param value allowed object is {@link ResponseModeType }
+ */
+ public void setResponseMode(ResponseModeType value) {
+ this.responseMode = value;
+ }
+
+ /**
+ * Gets the value of the integratedPrintFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isIntegratedPrintFlag() {
+ if (integratedPrintFlag == null) {
+ return false;
+ } else {
+ return integratedPrintFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the integratedPrintFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setIntegratedPrintFlag(Boolean value) {
+ this.integratedPrintFlag = value;
+ }
+
+ /**
+ * Gets the value of the requiredSignatureFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isRequiredSignatureFlag() {
+ if (requiredSignatureFlag == null) {
+ return false;
+ } else {
+ return requiredSignatureFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the requiredSignatureFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setRequiredSignatureFlag(Boolean value) {
+ this.requiredSignatureFlag = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PrintRequest.java b/src/main/java/com/adyen/model/nexo/PrintRequest.java
new file mode 100644
index 000000000..8321bdec8
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PrintRequest.java
@@ -0,0 +1,61 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the Print Request messageType. -- Usage: It conveys the data to print and the way to process the print. It contains the complete content to print.
+ *
+ * Java class for PrintRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PrintRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="PrintOutput" type="{}PrintOutput"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PrintRequest", propOrder = {
+ "printOutput"
+})
+public class PrintRequest {
+
+ /**
+ * The Print output.
+ */
+ @XmlElement(name = "PrintOutput", required = true)
+ @Schema(description = "Information to print and the way to process the print.")
+ protected PrintOutput printOutput;
+
+ /**
+ * Gets the value of the printOutput property.
+ *
+ * @return possible object is {@link PrintOutput }
+ */
+ public PrintOutput getPrintOutput() {
+ return printOutput;
+ }
+
+ /**
+ * Sets the value of the printOutput property.
+ *
+ * @param value allowed object is {@link PrintOutput }
+ */
+ public void setPrintOutput(PrintOutput value) {
+ this.printOutput = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PrintResponse.java b/src/main/java/com/adyen/model/nexo/PrintResponse.java
new file mode 100644
index 000000000..7db109963
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PrintResponse.java
@@ -0,0 +1,86 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the Print Response messageType. -- Usage: It conveys the result of the print, parallel to the messageType request, except if response not required and absent.
+ *
+ * Java class for PrintResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="PrintResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * </sequence>
+ * <attribute name="DocumentQualifier" use="required" type="{}DocumentQualifierType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PrintResponse", propOrder = {
+ "response"
+})
+public class PrintResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Document qualifier.
+ */
+ @XmlElement(name = "DocumentQualifier", required = true)
+ @Schema(description = "Qualification of the document to print to the Cashier or the Customer. --Rule: Copy")
+ protected DocumentQualifierType documentQualifier;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the documentQualifier property.
+ *
+ * @return possible object is {@link DocumentQualifierType }
+ */
+ public DocumentQualifierType getDocumentQualifier() {
+ return documentQualifier;
+ }
+
+ /**
+ * Sets the value of the documentQualifier property.
+ *
+ * @param value allowed object is {@link DocumentQualifierType }
+ */
+ public void setDocumentQualifier(DocumentQualifierType value) {
+ this.documentQualifier = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/PrinterStatusType.java b/src/main/java/com/adyen/model/nexo/PrinterStatusType.java
new file mode 100644
index 000000000..1d8b5a140
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/PrinterStatusType.java
@@ -0,0 +1,92 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for PrinterStatusType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="PrinterStatusType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="OK"/>
+ * <enumeration value="PaperLow"/>
+ * <enumeration value="NoPaper"/>
+ * <enumeration value="PaperJam"/>
+ * <enumeration value="OutOfOrder"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "PrinterStatusType")
+@XmlEnum
+public enum PrinterStatusType {
+
+
+ /**
+ * The printer is operational.
+ */
+ OK("OK"),
+
+ /**
+ * The printer is operational but paper roll is almost empty.
+ */
+ @XmlEnumValue("PaperLow")
+ @Schema(description = "The printer is operational but paper roll is almost empty.")
+ PAPER_LOW("PaperLow"),
+
+ /**
+ * Paper roll is empty, an operator must insert a new paper roll.
+ */
+ @XmlEnumValue("NoPaper")
+ @Schema(description = "Paper roll is empty, an operator must insert a new paper roll.")
+ NO_PAPER("NoPaper"),
+
+ /**
+ * An operator must remove the paper jam manually.
+ */
+ @XmlEnumValue("PaperJam")
+ @Schema(description = "An operator must remove the paper jam manually.")
+ PAPER_JAM("PaperJam"),
+
+ /**
+ * The printer is out of order.
+ */
+ @XmlEnumValue("OutOfOrder")
+ @Schema(description = "The printer is out of order.")
+ OUT_OF_ORDER("OutOfOrder");
+ private final String value;
+
+ PrinterStatusType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value printer status type.
+ *
+ * @param v the v
+ * @return the printer status type
+ */
+ public static PrinterStatusType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/Rebates.java b/src/main/java/com/adyen/model/nexo/Rebates.java
new file mode 100644
index 000000000..8202c97a8
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/Rebates.java
@@ -0,0 +1,127 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Rebate form to an award;
+ *
+ * Java class for Rebates complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="Rebates">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="TotalRebate" type="{}SimpleAmountType" minOccurs="0"/>
+ * <element name="RebateLabel" type="{}RebateLabel" minOccurs="0"/>
+ * <element name="SaleItemRebate" type="{}SaleItemRebate" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Rebates", propOrder = {
+ "totalRebate",
+ "rebateLabel",
+ "saleItemRebate"
+})
+public class Rebates {
+
+ /**
+ * The Total rebate.
+ */
+ @XmlElement(name = "TotalRebate")
+ @Schema(description = "The global awarded amount that is not attached to an item. --Rule: If rebate on the total amount for this loyalty program")
+ protected BigDecimal totalRebate;
+ /**
+ * The Rebate label.
+ */
+ @XmlElement(name = "RebateLabel")
+ @Schema(description = "Short text to qualify a rebate on an line item. --Rule: If provided by the Acquirer")
+ protected String rebateLabel;
+ /**
+ * The Sale item rebate.
+ */
+ @XmlElement(name = "SaleItemRebate")
+ @Schema(description = "The awarded amount that is attached to an item as a rebate. --Rule: only items with rebate (identified by ItemID)")
+ protected List saleItemRebate;
+
+ /**
+ * Gets the value of the totalRebate property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getTotalRebate() {
+ return totalRebate;
+ }
+
+ /**
+ * Sets the value of the totalRebate property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setTotalRebate(BigDecimal value) {
+ this.totalRebate = value;
+ }
+
+ /**
+ * Gets the value of the rebateLabel property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getRebateLabel() {
+ return rebateLabel;
+ }
+
+ /**
+ * Sets the value of the rebateLabel property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setRebateLabel(String value) {
+ this.rebateLabel = value;
+ }
+
+ /**
+ * Gets the value of the saleItemRebate property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the saleItemRebate property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getSaleItemRebate().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link SaleItemRebate }
+ *
+ * @return the sale item rebate
+ */
+ public List getSaleItemRebate() {
+ if (saleItemRebate == null) {
+ saleItemRebate = new ArrayList<>();
+ }
+ return this.saleItemRebate;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/RecipientIdentifier.java b/src/main/java/com/adyen/model/nexo/RecipientIdentifier.java
new file mode 100644
index 000000000..b5f6c6c13
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/RecipientIdentifier.java
@@ -0,0 +1,58 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Cryptographic Message Syntax (CMS) data structure containing the Recipient Identifier -- Reference: RFC 3852: Cryptographic Message Syntax (CMS) -- Usage: This data structure contains: the issuer name (see X.501-88) the certificate serial number (see X.509-97)
+ *
+ * Java class for RecipientIdentifier complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="RecipientIdentifier">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="IssuerAndSerialNumber" type="{}IssuerAndSerialNumber"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RecipientIdentifier", propOrder = {
+ "issuerAndSerialNumber"
+})
+public class RecipientIdentifier {
+
+ /**
+ * The Issuer and serial number.
+ */
+ @XmlElement(name = "IssuerAndSerialNumber", required = true)
+ protected IssuerAndSerialNumber issuerAndSerialNumber;
+
+ /**
+ * Gets the value of the issuerAndSerialNumber property.
+ *
+ * @return possible object is {@link IssuerAndSerialNumber }
+ */
+ public IssuerAndSerialNumber getIssuerAndSerialNumber() {
+ return issuerAndSerialNumber;
+ }
+
+ /**
+ * Sets the value of the issuerAndSerialNumber property.
+ *
+ * @param value allowed object is {@link IssuerAndSerialNumber }
+ */
+ public void setIssuerAndSerialNumber(IssuerAndSerialNumber value) {
+ this.issuerAndSerialNumber = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/ReconciliationRequest.java b/src/main/java/com/adyen/model/nexo/ReconciliationRequest.java
new file mode 100644
index 000000000..46534f511
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/ReconciliationRequest.java
@@ -0,0 +1,124 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Reconciliation Request messageType. -- Usage: It conveys Information related to the Reconciliation requested by the Sale System: Type of reconciliation (with or without closure of the reconciliation time period) The Acquirers identification if they are involved and could be selected
+ *
+ * Java class for ReconciliationRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="ReconciliationRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="AcquirerID" type="{}AcquirerID" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="Reconciliation" use="required" type="{}ReconciliationType" />
+ * <attribute name="POIReconciliationID" type="{}POIReconciliationID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ReconciliationRequest", propOrder = {
+ "acquirerID"
+})
+public class ReconciliationRequest {
+
+ /**
+ * The Acquirer id.
+ */
+ @XmlElement(name = "AcquirerID")
+ @Schema(description = "Identification of the Acquirer --Rule: Could be present only if ReconciliationType is \"AcquirerReconciliation\" or \"AcquirerSynchronisation\"")
+ protected List acquirerID;
+ /**
+ * The Reconciliation.
+ */
+ @XmlElement(name = "ReconciliationType", required = true)
+ @Schema(description = "Type of Reconciliation requested by the Sale to the POI.")
+ protected ReconciliationType reconciliationType;
+ /**
+ * The Poi reconciliation id.
+ */
+ @XmlElement(name = "POIReconciliationID")
+ @Schema(description = "Identification of the reconciliation period between Sale and POI. --Rule: Absent if ReconciliationType is not \"PreviousReconciliation\"")
+ protected String poiReconciliationID;
+
+ /**
+ * Gets the value of the acquirerID property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the acquirerID property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getAcquirerID().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ * @return the acquirer id
+ */
+ public List getAcquirerID() {
+ if (acquirerID == null) {
+ acquirerID = new ArrayList<>();
+ }
+ return this.acquirerID;
+ }
+
+ /**
+ * Gets the value of the reconciliationType property.
+ *
+ * @return possible object is {@link ReconciliationType }
+ */
+ public ReconciliationType getReconciliationType() {
+ return reconciliationType;
+ }
+
+ /**
+ * Sets the value of the reconciliationType property.
+ *
+ * @param value allowed object is {@link ReconciliationType }
+ */
+ public void setReconciliationType(ReconciliationType value) {
+ this.reconciliationType = value;
+ }
+
+ /**
+ * Gets the value of the poiReconciliationID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPOIReconciliationID() {
+ return poiReconciliationID;
+ }
+
+ /**
+ * Sets the value of the poiReconciliationID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPOIReconciliationID(String value) {
+ this.poiReconciliationID = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/ReconciliationResponse.java b/src/main/java/com/adyen/model/nexo/ReconciliationResponse.java
new file mode 100644
index 000000000..8b0b2cbd1
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/ReconciliationResponse.java
@@ -0,0 +1,150 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Reconciliation Response messageType. -- Usage: It conveys Information related to the Reconciliation transaction processed by the POI System
+ *
+ * Java class for ReconciliationResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="ReconciliationResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * <element name="TransactionTotals" type="{}TransactionTotals" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="Reconciliation" use="required" type="{}ReconciliationType" />
+ * <attribute name="POIReconciliationID" type="{}POIReconciliationID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ReconciliationResponse", propOrder = {
+ "response",
+ "transactionTotals"
+})
+public class ReconciliationResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Transaction totals.
+ */
+ @XmlElement(name = "TransactionTotals")
+ @Schema(description = "Result of the Sale to POI Reconciliation processing. --Rule: if Response.Result is Success")
+ protected List transactionTotals;
+ /**
+ * The Reconciliation.
+ */
+ @XmlElement(name = "ReconciliationType", required = true)
+ @Schema(description = "Type of Reconciliation requested by the Sale to the POI. --Rule: Copy")
+ protected ReconciliationType reconciliationType;
+ /**
+ * The Poi reconciliation id.
+ */
+ @XmlElement(name = "POIReconciliationID")
+ @Schema(description = "Identification of the reconciliation period between Sale and POI. --Rule: Absent if ReconciliationType is \"AcquirerReconciliation\"")
+ protected String poiReconciliationID;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the transactionTotals property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the transactionTotals property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getTransactionTotals().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link TransactionTotals }
+ *
+ * @return the transaction totals
+ */
+ public List getTransactionTotals() {
+ if (transactionTotals == null) {
+ transactionTotals = new ArrayList<>();
+ }
+ return this.transactionTotals;
+ }
+
+ /**
+ * Gets the value of the reconciliationType property.
+ *
+ * @return possible object is {@link ReconciliationType }
+ */
+ public ReconciliationType getReconciliationType() {
+ return reconciliationType;
+ }
+
+ /**
+ * Sets the value of the reconciliationType property.
+ *
+ * @param value allowed object is {@link ReconciliationType }
+ */
+ public void setReconciliationType(ReconciliationType value) {
+ this.reconciliationType = value;
+ }
+
+ /**
+ * Gets the value of the poiReconciliationID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPOIReconciliationID() {
+ return poiReconciliationID;
+ }
+
+ /**
+ * Sets the value of the poiReconciliationID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPOIReconciliationID(String value) {
+ this.poiReconciliationID = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/ReconciliationType.java b/src/main/java/com/adyen/model/nexo/ReconciliationType.java
new file mode 100644
index 000000000..4dafac4cc
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/ReconciliationType.java
@@ -0,0 +1,86 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for ReconciliationType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="ReconciliationType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="SaleReconciliation"/>
+ * <enumeration value="AcquirerSynchronisation"/>
+ * <enumeration value="AcquirerReconciliation"/>
+ * <enumeration value="PreviousReconciliation"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "ReconciliationType")
+@XmlEnum
+public enum ReconciliationType {
+
+
+ /**
+ * Reconciliation with closure of the current period, without any Acquirers synchronisation.
+ */
+ @XmlEnumValue("SaleReconciliation")
+ @Schema(description = "Reconciliation with closure of the current period, without any Acquirers synchronisation.")
+ SALE_RECONCILIATION("SaleReconciliation"),
+
+ /**
+ * Reconciliation and closure of the current period, with synchronisation of the reconciliation between the POI and Acquirers.
+ */
+ @XmlEnumValue("AcquirerSynchronisation")
+ @Schema(description = "Reconciliation and closure of the current period, with synchronisation of the reconciliation between the POI and Acquirers.")
+ ACQUIRER_SYNCHRONISATION("AcquirerSynchronisation"),
+
+ /**
+ * Reconciliation between the POI and one or several Acquirers only. There is no reconciliation between the Sale System and the POI System.
+ */
+ @XmlEnumValue("AcquirerReconciliation")
+ @Schema(description = "Reconciliation between the POI and one or several Acquirers only. There is no reconciliation between the Sale System and the POI System.")
+ ACQUIRER_RECONCILIATION("AcquirerReconciliation"),
+
+ /**
+ * Request result of a previous reconciliation.
+ */
+ @XmlEnumValue("PreviousReconciliation")
+ @Schema(description = "Request result of a previous reconciliation.")
+ PREVIOUS_RECONCILIATION("PreviousReconciliation");
+ private final String value;
+
+ ReconciliationType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value reconciliation type.
+ *
+ * @param v the v
+ * @return the reconciliation type
+ */
+ public static ReconciliationType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/RelativeDistinguishedName.java b/src/main/java/com/adyen/model/nexo/RelativeDistinguishedName.java
new file mode 100644
index 000000000..3224e0da4
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/RelativeDistinguishedName.java
@@ -0,0 +1,83 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Certificate distinguished name (DN) -- Reference: RFC 3880: Internet X.509 Public Key Infrastructure Certificate and Certificate -- Usage: Identifies the issuer or the subject of a X.509 certificate.
+ *
+ * Java class for RelativeDistinguishedName complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="RelativeDistinguishedName">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Attribute" type="{}AttributeTypeCodeZ"/>
+ * <element name="AttributeValue" type="{}AttributeValue"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RelativeDistinguishedName", propOrder = {
+ "attribute",
+ "attributeValue"
+})
+public class RelativeDistinguishedName {
+
+ /**
+ * The Attribute.
+ */
+ @XmlElement(name = "Attribute", required = true)
+ protected String attribute;
+ /**
+ * The Attribute value.
+ */
+ @XmlElement(name = "AttributeValue", required = true)
+ protected String attributeValue;
+
+ /**
+ * Gets the value of the attribute property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getAttribute() {
+ return attribute;
+ }
+
+ /**
+ * Sets the value of the attribute property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setAttribute(String value) {
+ this.attribute = value;
+ }
+
+ /**
+ * Gets the value of the attributeValue property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getAttributeValue() {
+ return attributeValue;
+ }
+
+ /**
+ * Sets the value of the attributeValue property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setAttributeValue(String value) {
+ this.attributeValue = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/RepeatedMessageResponse.java b/src/main/java/com/adyen/model/nexo/RepeatedMessageResponse.java
new file mode 100644
index 000000000..126c90ecd
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/RepeatedMessageResponse.java
@@ -0,0 +1,91 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * Definition: Content of the requested Message Response. -- Usage: Allow the knowledge of the last Payment, Loyalty or Reversal transaction
+ *
+ * Java class for RepeatedMessageResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="RepeatedMessageResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MessageHeader" type="{}MessageHeader"/>
+ * <choice>
+ * <element name="LoyaltyResponse" type="{}LoyaltyResponse"/>
+ * <element name="PaymentResponse" type="{}PaymentResponse"/>
+ * <element name="ReversalResponse" type="{}ReversalResponse"/>
+ * <element name="StoredValueResponse" type="{}StoredValueResponse"/>
+ * <element name="CardAcquisitionResponse" type="{}CardAcquisitionResponse"/>
+ * <element name="CardReaderAPDUResponse" type="{}CardReaderAPDUResponse"/>
+ * </choice>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RepeatedMessageResponse", propOrder = {
+ "repeatedResponseMessageBody",
+ "messageHeader"
+})
+public class RepeatedMessageResponse {
+
+ /**
+ * The Repeated message response body.
+ */
+ @XmlElement(name = "RepeatedResponseMessageBody", required = true)
+ protected RepeatedResponseMessageBody repeatedResponseMessageBody;
+ /**
+ * The Message header.
+ */
+ @XmlElement(name = "MessageHeader", required = true)
+ @Schema(description = "Message header of the Sale to POI protocol message.")
+ protected MessageHeader messageHeader;
+
+ /**
+ * Gets the value of the repeatedResponseMessageBody property.
+ *
+ * @return possible object is {@link RepeatedResponseMessageBody }
+ */
+ public RepeatedResponseMessageBody getRepeatedResponseMessageBody() {
+ return repeatedResponseMessageBody;
+ }
+
+ /**
+ * Sets the value of the repeatedResponseMessageBody property.
+ *
+ * @param value allowed object is {@link RepeatedResponseMessageBody }
+ */
+ public void setRepeatedResponseMessageBody(RepeatedResponseMessageBody value) {
+ this.repeatedResponseMessageBody = value;
+ }
+
+ /**
+ * Gets the value of the messageHeader property.
+ *
+ * @return possible object is {@link MessageHeader }
+ */
+ public MessageHeader getMessageHeader() {
+ return messageHeader;
+ }
+
+ /**
+ * Sets the value of the messageHeader property.
+ *
+ * @param value allowed object is {@link MessageHeader }
+ */
+ public void setMessageHeader(MessageHeader value) {
+ this.messageHeader = value;
+ }
+}
diff --git a/src/main/java/com/adyen/model/nexo/RepeatedMessageResponseBody.java b/src/main/java/com/adyen/model/nexo/RepeatedMessageResponseBody.java
new file mode 100644
index 000000000..04785366e
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/RepeatedMessageResponseBody.java
@@ -0,0 +1,183 @@
+
+/*
+ * ######
+ * ######
+ * ############ ####( ###### #####. ###### ############ ############
+ * ############# #####( ###### #####. ###### ############# #############
+ * ###### #####( ###### #####. ###### ##### ###### ##### ######
+ * ###### ###### #####( ###### #####. ###### ##### ##### ##### ######
+ * ###### ###### #####( ###### #####. ###### ##### ##### ######
+ * ############# ############# ############# ############# ##### ######
+ * ############ ############ ############# ############ ##### ######
+ * ######
+ * #############
+ * ############
+ *
+ * Adyen Java API Library
+ *
+ * Copyright (c) 2019 Adyen B.V.
+ * This file is open source and available under the MIT license.
+ * See the LICENSE file for more info.
+ */
+
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * The type Repeated message response body.
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RepeatedMessageResponseBody", propOrder = {
+ "loyaltyResponse",
+ "paymentResponse",
+ "reversalResponse",
+ "storedValueResponse",
+ "cardAcquisitionResponse",
+ "cardReaderAPDUResponse"
+})
+public class RepeatedMessageResponseBody {
+
+ /**
+ * The Loyalty response.
+ */
+ @XmlElement(name = "LoyaltyResponse")
+ protected LoyaltyResponse loyaltyResponse;
+ /**
+ * The Payment response.
+ */
+ @XmlElement(name = "PaymentResponse")
+ protected PaymentResponse paymentResponse;
+ /**
+ * The Reversal response.
+ */
+ @XmlElement(name = "ReversalResponse")
+ protected ReversalResponse reversalResponse;
+ /**
+ * The Stored value response.
+ */
+ @XmlElement(name = "StoredValueResponse")
+ protected StoredValueResponse storedValueResponse;
+ /**
+ * The Card acquisition response.
+ */
+ @XmlElement(name = "CardAcquisitionResponse")
+ protected CardAcquisitionResponse cardAcquisitionResponse;
+ /**
+ * The Card reader apdu response.
+ */
+ @XmlElement(name = "CardReaderAPDUResponse")
+ protected CardReaderAPDUResponse cardReaderAPDUResponse;
+
+ /**
+ * Gets the value of the loyaltyResponse property.
+ *
+ * @return possible object is {@link LoyaltyResponse }
+ */
+ public LoyaltyResponse getLoyaltyResponse() {
+ return loyaltyResponse;
+ }
+
+ /**
+ * Sets the value of the loyaltyResponse property.
+ *
+ * @param value allowed object is {@link LoyaltyResponse }
+ */
+ public void setLoyaltyResponse(LoyaltyResponse value) {
+ this.loyaltyResponse = value;
+ }
+
+ /**
+ * Gets the value of the paymentResponse property.
+ *
+ * @return possible object is {@link PaymentResponse }
+ */
+ public PaymentResponse getPaymentResponse() {
+ return paymentResponse;
+ }
+
+ /**
+ * Sets the value of the paymentResponse property.
+ *
+ * @param value allowed object is {@link PaymentResponse }
+ */
+ public void setPaymentResponse(PaymentResponse value) {
+ this.paymentResponse = value;
+ }
+
+ /**
+ * Gets the value of the reversalResponse property.
+ *
+ * @return possible object is {@link ReversalResponse }
+ */
+ public ReversalResponse getReversalResponse() {
+ return reversalResponse;
+ }
+
+ /**
+ * Sets the value of the reversalResponse property.
+ *
+ * @param value allowed object is {@link ReversalResponse }
+ */
+ public void setReversalResponse(ReversalResponse value) {
+ this.reversalResponse = value;
+ }
+
+ /**
+ * Gets the value of the storedValueResponse property.
+ *
+ * @return possible object is {@link StoredValueResponse }
+ */
+ public StoredValueResponse getStoredValueResponse() {
+ return storedValueResponse;
+ }
+
+ /**
+ * Sets the value of the storedValueResponse property.
+ *
+ * @param value allowed object is {@link StoredValueResponse }
+ */
+ public void setStoredValueResponse(StoredValueResponse value) {
+ this.storedValueResponse = value;
+ }
+
+ /**
+ * Gets the value of the cardAcquisitionResponse property.
+ *
+ * @return possible object is {@link CardAcquisitionResponse }
+ */
+ public CardAcquisitionResponse getCardAcquisitionResponse() {
+ return cardAcquisitionResponse;
+ }
+
+ /**
+ * Sets the value of the cardAcquisitionResponse property.
+ *
+ * @param value allowed object is {@link CardAcquisitionResponse }
+ */
+ public void setCardAcquisitionResponse(CardAcquisitionResponse value) {
+ this.cardAcquisitionResponse = value;
+ }
+
+ /**
+ * Gets the value of the cardReaderAPDUResponse property.
+ *
+ * @return possible object is {@link CardReaderAPDUResponse }
+ */
+ public CardReaderAPDUResponse getCardReaderAPDUResponse() {
+ return cardReaderAPDUResponse;
+ }
+
+ /**
+ * Sets the value of the cardReaderAPDUResponse property.
+ *
+ * @param value allowed object is {@link CardReaderAPDUResponse }
+ */
+ public void setCardReaderAPDUResponse(CardReaderAPDUResponse value) {
+ this.cardReaderAPDUResponse = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/RepeatedResponseMessageBody.java b/src/main/java/com/adyen/model/nexo/RepeatedResponseMessageBody.java
new file mode 100644
index 000000000..9fd056713
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/RepeatedResponseMessageBody.java
@@ -0,0 +1,183 @@
+
+/*
+ * ######
+ * ######
+ * ############ ####( ###### #####. ###### ############ ############
+ * ############# #####( ###### #####. ###### ############# #############
+ * ###### #####( ###### #####. ###### ##### ###### ##### ######
+ * ###### ###### #####( ###### #####. ###### ##### ##### ##### ######
+ * ###### ###### #####( ###### #####. ###### ##### ##### ######
+ * ############# ############# ############# ############# ##### ######
+ * ############ ############ ############# ############ ##### ######
+ * ######
+ * #############
+ * ############
+ *
+ * Adyen Java API Library
+ *
+ * Copyright (c) 2019 Adyen B.V.
+ * This file is open source and available under the MIT license.
+ * See the LICENSE file for more info.
+ */
+
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * The type Repeated message response body.
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RepeatedResponseMessageBody", propOrder = {
+ "loyaltyResponse",
+ "paymentResponse",
+ "reversalResponse",
+ "storedValueResponse",
+ "cardAcquisitionResponse",
+ "cardReaderAPDUResponse"
+})
+public class RepeatedResponseMessageBody {
+
+ /**
+ * The Loyalty response.
+ */
+ @XmlElement(name = "LoyaltyResponse")
+ protected LoyaltyResponse loyaltyResponse;
+ /**
+ * The Payment response.
+ */
+ @XmlElement(name = "PaymentResponse")
+ protected PaymentResponse paymentResponse;
+ /**
+ * The Reversal response.
+ */
+ @XmlElement(name = "ReversalResponse")
+ protected ReversalResponse reversalResponse;
+ /**
+ * The Stored value response.
+ */
+ @XmlElement(name = "StoredValueResponse")
+ protected StoredValueResponse storedValueResponse;
+ /**
+ * The Card acquisition response.
+ */
+ @XmlElement(name = "CardAcquisitionResponse")
+ protected CardAcquisitionResponse cardAcquisitionResponse;
+ /**
+ * The Card reader apdu response.
+ */
+ @XmlElement(name = "CardReaderAPDUResponse")
+ protected CardReaderAPDUResponse cardReaderAPDUResponse;
+
+ /**
+ * Gets the value of the loyaltyResponse property.
+ *
+ * @return possible object is {@link LoyaltyResponse }
+ */
+ public LoyaltyResponse getLoyaltyResponse() {
+ return loyaltyResponse;
+ }
+
+ /**
+ * Sets the value of the loyaltyResponse property.
+ *
+ * @param value allowed object is {@link LoyaltyResponse }
+ */
+ public void setLoyaltyResponse(LoyaltyResponse value) {
+ this.loyaltyResponse = value;
+ }
+
+ /**
+ * Gets the value of the paymentResponse property.
+ *
+ * @return possible object is {@link PaymentResponse }
+ */
+ public PaymentResponse getPaymentResponse() {
+ return paymentResponse;
+ }
+
+ /**
+ * Sets the value of the paymentResponse property.
+ *
+ * @param value allowed object is {@link PaymentResponse }
+ */
+ public void setPaymentResponse(PaymentResponse value) {
+ this.paymentResponse = value;
+ }
+
+ /**
+ * Gets the value of the reversalResponse property.
+ *
+ * @return possible object is {@link ReversalResponse }
+ */
+ public ReversalResponse getReversalResponse() {
+ return reversalResponse;
+ }
+
+ /**
+ * Sets the value of the reversalResponse property.
+ *
+ * @param value allowed object is {@link ReversalResponse }
+ */
+ public void setReversalResponse(ReversalResponse value) {
+ this.reversalResponse = value;
+ }
+
+ /**
+ * Gets the value of the storedValueResponse property.
+ *
+ * @return possible object is {@link StoredValueResponse }
+ */
+ public StoredValueResponse getStoredValueResponse() {
+ return storedValueResponse;
+ }
+
+ /**
+ * Sets the value of the storedValueResponse property.
+ *
+ * @param value allowed object is {@link StoredValueResponse }
+ */
+ public void setStoredValueResponse(StoredValueResponse value) {
+ this.storedValueResponse = value;
+ }
+
+ /**
+ * Gets the value of the cardAcquisitionResponse property.
+ *
+ * @return possible object is {@link CardAcquisitionResponse }
+ */
+ public CardAcquisitionResponse getCardAcquisitionResponse() {
+ return cardAcquisitionResponse;
+ }
+
+ /**
+ * Sets the value of the cardAcquisitionResponse property.
+ *
+ * @param value allowed object is {@link CardAcquisitionResponse }
+ */
+ public void setCardAcquisitionResponse(CardAcquisitionResponse value) {
+ this.cardAcquisitionResponse = value;
+ }
+
+ /**
+ * Gets the value of the cardReaderAPDUResponse property.
+ *
+ * @return possible object is {@link CardReaderAPDUResponse }
+ */
+ public CardReaderAPDUResponse getCardReaderAPDUResponse() {
+ return cardReaderAPDUResponse;
+ }
+
+ /**
+ * Sets the value of the cardReaderAPDUResponse property.
+ *
+ * @param value allowed object is {@link CardReaderAPDUResponse }
+ */
+ public void setCardReaderAPDUResponse(CardReaderAPDUResponse value) {
+ this.cardReaderAPDUResponse = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/Response.java b/src/main/java/com/adyen/model/nexo/Response.java
new file mode 100644
index 000000000..3fc91efb2
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/Response.java
@@ -0,0 +1,111 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Result of a messageType request processing. -- Usage: If Result is Success, ErrorCondition is absent or not used in the processing of the messageType. In the other cases, the ErrorCondition has to be present and can refine the processing of the messageType response. AdditionalResponse gives more
+ *
+ * Java class for Response complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="Response">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="AdditionalResponse" type="{}AdditionalResponse" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="Result" use="required" type="{}ResultType" />
+ * <attribute name="ErrorCondition" type="{}ErrorConditionType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Response", propOrder = {
+ "additionalResponse"
+})
+public class Response {
+
+ /**
+ * The Additional response.
+ */
+ @XmlElement(name = "AdditionalResponse")
+ @Schema(description = "Additional information related to processing status of a message request . --Rule: If present, the POI logs it for further examination")
+ protected String additionalResponse;
+ /**
+ * The Result.
+ */
+ @XmlElement(name = "Result", required = true)
+ @Schema(description = "Result of the processing of the message")
+ protected ResultType result;
+ /**
+ * The Error condition.
+ */
+ @XmlElement(name = "ErrorCondition")
+ @Schema(description = "Condition that has produced an error on the processing of a message request --Rule: If Result is not Success")
+ protected ErrorConditionType errorCondition;
+
+ /**
+ * Gets the value of the additionalResponse property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getAdditionalResponse() {
+ return additionalResponse;
+ }
+
+ /**
+ * Sets the value of the additionalResponse property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setAdditionalResponse(String value) {
+ this.additionalResponse = value;
+ }
+
+ /**
+ * Gets the value of the result property.
+ *
+ * @return possible object is {@link ResultType }
+ */
+ public ResultType getResult() {
+ return result;
+ }
+
+ /**
+ * Sets the value of the result property.
+ *
+ * @param value allowed object is {@link ResultType }
+ */
+ public void setResult(ResultType value) {
+ this.result = value;
+ }
+
+ /**
+ * Gets the value of the errorCondition property.
+ *
+ * @return possible object is {@link ErrorConditionType }
+ */
+ public ErrorConditionType getErrorCondition() {
+ return errorCondition;
+ }
+
+ /**
+ * Sets the value of the errorCondition property.
+ *
+ * @param value allowed object is {@link ErrorConditionType }
+ */
+ public void setErrorCondition(ErrorConditionType value) {
+ this.errorCondition = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/ResponseModeType.java b/src/main/java/com/adyen/model/nexo/ResponseModeType.java
new file mode 100644
index 000000000..a5f9fcd49
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/ResponseModeType.java
@@ -0,0 +1,86 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for ResponseModeType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="ResponseModeType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="NotRequired"/>
+ * <enumeration value="Immediate"/>
+ * <enumeration value="PrintEnd"/>
+ * <enumeration value="SoundEnd"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "ResponseModeType")
+@XmlEnum
+public enum ResponseModeType {
+
+
+ /**
+ * The Message Response is not required, except in case of error.
+ */
+ @XmlEnumValue("NotRequired")
+ @Schema(description = "The Message Response is not required, except in case of error.")
+ NOT_REQUIRED("NotRequired"),
+
+ /**
+ * The Message Response is immediate, after taking into account the request.
+ */
+ @XmlEnumValue("Immediate")
+ @Schema(description = "The Message Response is immediate, after taking into account the request.")
+ IMMEDIATE("Immediate"),
+
+ /**
+ * The Print Response is required at the end of print.
+ */
+ @XmlEnumValue("PrintEnd")
+ @Schema(description = "The Print Response is required at the end of print.")
+ PRINT_END("PrintEnd"),
+
+ /**
+ * The Sound Response is required at the end of play.
+ */
+ @XmlEnumValue("SoundEnd")
+ @Schema(description = "The Sound Response is required at the end of play.")
+ SOUND_END("SoundEnd");
+ private final String value;
+
+ ResponseModeType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value response mode type.
+ *
+ * @param v the v
+ * @return the response mode type
+ */
+ public static ResponseModeType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/ResultType.java b/src/main/java/com/adyen/model/nexo/ResultType.java
new file mode 100644
index 000000000..b88d2a89e
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/ResultType.java
@@ -0,0 +1,78 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for ResultType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="ResultType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Success"/>
+ * <enumeration value="Failure"/>
+ * <enumeration value="Partial"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "ResultType")
+@XmlEnum
+public enum ResultType {
+
+
+ /**
+ * Processing OK. Information related to the result of the processing is contained in other parts of the response messageType.
+ */
+ @XmlEnumValue("Success")
+ @Schema(description = "Processing OK. Information related to the result of the processing is contained in other parts of the response message.")
+ SUCCESS("Success"),
+
+ /**
+ * ErrorCondition
+ */
+ @XmlEnumValue("Failure")
+ @Schema(description = "ErrorCondition")
+ FAILURE("Failure"),
+
+ /**
+ * The transaction has been processed successfully, but the success is not complete (e.g. only a partial amount is available for the payment, the format to be
+ */
+ @XmlEnumValue("Partial")
+ @Schema(description = "The transaction has been processed successfully, but the success is not complete (e.g. only a partial amount is available for the payment, the format to be")
+ PARTIAL("Partial");
+ private final String value;
+
+ ResultType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value result type.
+ *
+ * @param v the v
+ * @return the result type
+ */
+ public static ResultType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/ReversalReasonType.java b/src/main/java/com/adyen/model/nexo/ReversalReasonType.java
new file mode 100644
index 000000000..b7645cae1
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/ReversalReasonType.java
@@ -0,0 +1,86 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for ReversalReasonType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="ReversalReasonType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="CustCancel"/>
+ * <enumeration value="MerchantCancel"/>
+ * <enumeration value="Malfunction"/>
+ * <enumeration value="Unable2Compl"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "ReversalReasonType")
+@XmlEnum
+public enum ReversalReasonType {
+
+
+ /**
+ * Customer cancellation
+ */
+ @XmlEnumValue("CustCancel")
+ @Schema(description = "Customer cancellation")
+ CUST_CANCEL("CustCancel"),
+
+ /**
+ * Cashier cancellation
+ */
+ @XmlEnumValue("MerchantCancel")
+ @Schema(description = "Cashier cancellation")
+ MERCHANT_CANCEL("MerchantCancel"),
+
+ /**
+ * Suspected malfunction
+ */
+ @XmlEnumValue("Malfunction")
+ @Schema(description = "Suspected malfunction")
+ MALFUNCTION("Malfunction"),
+
+ /**
+ * Card acceptor device unable to complete transaction
+ */
+ @XmlEnumValue("Unable2Compl")
+ @Schema(description = "Card acceptor device unable to complete transaction")
+ UNABLE_2_COMPL("Unable2Compl");
+ private final String value;
+
+ ReversalReasonType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value reversal reason type.
+ *
+ * @param v the v
+ * @return the reversal reason type
+ */
+ public static ReversalReasonType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/ReversalRequest.java b/src/main/java/com/adyen/model/nexo/ReversalRequest.java
new file mode 100644
index 000000000..c145488c2
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/ReversalRequest.java
@@ -0,0 +1,185 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+
+
+/**
+ * Definition: Content of the Reversal Request messageType. -- Usage: It conveys Information related to the reversal of a previous payment or a loyalty transaction.
+ *
+ * Java class for ReversalRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="ReversalRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="OriginalPOITransaction" type="{}OriginalPOITransaction"/>
+ * <element name="CustomerOrderID" type="{}CustomerOrder" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="SaleReferenceID" type="{}SaleReferenceID" />
+ * <attribute name="ReversalReason" use="required" type="{}ReversalReasonType" />
+ * <attribute name="ReversedAmount" type="{}SimpleAmountType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ReversalRequest", propOrder = {
+ "originalPOITransaction",
+ "customerOrderID"
+})
+public class ReversalRequest {
+
+ /**
+ * The Original poi transaction.
+ */
+ @XmlElement(name = "OriginalPOITransaction", required = true)
+ @Schema(description = "Identification of a previous POI transaction.")
+ protected OriginalPOITransaction originalPOITransaction;
+ /**
+ * The Customer order id.
+ */
+ @XmlElement(name = "CustomerOrderID")
+ @Schema(description = "If the reversal is performed inside a customer order.")
+ protected CustomerOrder customerOrderID;
+ /**
+ * The Sale reference id.
+ */
+ @XmlElement(name = "SaleReferenceID")
+ @Schema(description = "Identification of a Sale global transaction for a sequence of related POI transactions --Rule: If payment reservation reversal")
+ protected String saleReferenceID;
+ /**
+ * The Reversal reason.
+ */
+ @XmlElement(name = "ReversalReason", required = true)
+ @Schema(description = "Reason of the payment or loyalty reversal..")
+ protected ReversalReasonType reversalReason;
+ /**
+ * The Reversed amount.
+ */
+ @XmlElement(name = "ReversedAmount")
+ @Schema(description = "Amount of the payment or loyalty to reverse.. --Rule: ReversedAmount is implicitely the AuthorizedAmount if absent.")
+ protected BigDecimal reversedAmount;
+ /**
+ * The Sale data.
+ */
+ @XmlElement(name = "SaleData")
+ protected SaleData saleData;
+
+ /**
+ * Gets the value of the originalPOITransaction property.
+ *
+ * @return possible object is {@link OriginalPOITransaction }
+ */
+ public OriginalPOITransaction getOriginalPOITransaction() {
+ return originalPOITransaction;
+ }
+
+ /**
+ * Sets the value of the originalPOITransaction property.
+ *
+ * @param value allowed object is {@link OriginalPOITransaction }
+ */
+ public void setOriginalPOITransaction(OriginalPOITransaction value) {
+ this.originalPOITransaction = value;
+ }
+
+ /**
+ * Gets the value of the customerOrderID property.
+ *
+ * @return possible object is {@link CustomerOrder }
+ */
+ public CustomerOrder getCustomerOrderID() {
+ return customerOrderID;
+ }
+
+ /**
+ * Sets the value of the customerOrderID property.
+ *
+ * @param value allowed object is {@link CustomerOrder }
+ */
+ public void setCustomerOrderID(CustomerOrder value) {
+ this.customerOrderID = value;
+ }
+
+ /**
+ * Gets the value of the saleReferenceID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getSaleReferenceID() {
+ return saleReferenceID;
+ }
+
+ /**
+ * Sets the value of the saleReferenceID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setSaleReferenceID(String value) {
+ this.saleReferenceID = value;
+ }
+
+ /**
+ * Gets the value of the reversalReason property.
+ *
+ * @return possible object is {@link ReversalReasonType }
+ */
+ public ReversalReasonType getReversalReason() {
+ return reversalReason;
+ }
+
+ /**
+ * Sets the value of the reversalReason property.
+ *
+ * @param value allowed object is {@link ReversalReasonType }
+ */
+ public void setReversalReason(ReversalReasonType value) {
+ this.reversalReason = value;
+ }
+
+ /**
+ * Gets the value of the reversedAmount property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getReversedAmount() {
+ return reversedAmount;
+ }
+
+ /**
+ * Sets the value of the reversedAmount property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setReversedAmount(BigDecimal value) {
+ this.reversedAmount = value;
+ }
+
+ /**
+ * Gets the value of the saleData property.
+ *
+ * @return possible object is {@link SaleData }
+ */
+ public SaleData getSaleData() {
+ return saleData;
+ }
+
+ /**
+ * Sets the value of the saleData property.
+ *
+ * @param value allowed object is {@link SaleData }
+ */
+ public void setSaleData(SaleData value) {
+ this.saleData = value;
+ }
+}
diff --git a/src/main/java/com/adyen/model/nexo/ReversalResponse.java b/src/main/java/com/adyen/model/nexo/ReversalResponse.java
new file mode 100644
index 000000000..56f08df45
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/ReversalResponse.java
@@ -0,0 +1,203 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Reversal Response messageType. -- Usage: It conveys Information related to the reversal processed by the POI System.
+ *
+ * Java class for ReversalResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="ReversalResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * <element name="POIData" type="{}POIData" minOccurs="0"/>
+ * <element name="OriginalPOITransaction" type="{}OriginalPOITransaction" minOccurs="0"/>
+ * <element name="PaymentReceipt" type="{}PaymentReceipt" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="ReversedAmount" type="{}SimpleAmountType" />
+ * <attribute name="CustomerOrderID" type="{}CustomerOrderID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ReversalResponse", propOrder = {
+ "response",
+ "poiData",
+ "originalPOITransaction",
+ "paymentReceipt"
+})
+public class ReversalResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Poi data.
+ */
+ @XmlElement(name = "POIData")
+ @Schema(description = "Data related to the POI System. --Rule: If Result is Success")
+ protected POIData poiData;
+ /**
+ * The Original poi transaction.
+ */
+ @XmlElement(name = "OriginalPOITransaction")
+ @Schema(description = "Identification of a previous POI transaction. --Rule: Present if POITransactionID absent in the request")
+ protected OriginalPOITransaction originalPOITransaction;
+ /**
+ * The Payment receipt.
+ */
+ @XmlElement(name = "PaymentReceipt")
+ @Schema(description = "Customer or Merchant payment receipt. --Rule: If Basic profile implementation with no printer on the POI.")
+ protected List paymentReceipt;
+ /**
+ * The Reversed amount.
+ */
+ @XmlElement(name = "ReversedAmount")
+ @Schema(description = "Amount of the payment or loyalty to reverse.. --Rule: Copy")
+ protected BigDecimal reversedAmount;
+ /**
+ * The Customer order id.
+ */
+ @XmlElement(name = "CustomerOrderID")
+ @Schema(description = "Customer order attached to a card, recorded in the POI system. --Rule: If the reversal is performed inside a customer order.")
+ protected String customerOrderID;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the poiData property.
+ *
+ * @return possible object is {@link POIData }
+ */
+ public POIData getPOIData() {
+ return poiData;
+ }
+
+ /**
+ * Sets the value of the poiData property.
+ *
+ * @param value allowed object is {@link POIData }
+ */
+ public void setPOIData(POIData value) {
+ this.poiData = value;
+ }
+
+ /**
+ * Gets the value of the originalPOITransaction property.
+ *
+ * @return possible object is {@link OriginalPOITransaction }
+ */
+ public OriginalPOITransaction getOriginalPOITransaction() {
+ return originalPOITransaction;
+ }
+
+ /**
+ * Sets the value of the originalPOITransaction property.
+ *
+ * @param value allowed object is {@link OriginalPOITransaction }
+ */
+ public void setOriginalPOITransaction(OriginalPOITransaction value) {
+ this.originalPOITransaction = value;
+ }
+
+ /**
+ * Gets the value of the paymentReceipt property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the paymentReceipt property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getPaymentReceipt().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link PaymentReceipt }
+ *
+ * @return the payment receipt
+ */
+ public List getPaymentReceipt() {
+ if (paymentReceipt == null) {
+ paymentReceipt = new ArrayList<>();
+ }
+ return this.paymentReceipt;
+ }
+
+ /**
+ * Gets the value of the reversedAmount property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getReversedAmount() {
+ return reversedAmount;
+ }
+
+ /**
+ * Sets the value of the reversedAmount property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setReversedAmount(BigDecimal value) {
+ this.reversedAmount = value;
+ }
+
+ /**
+ * Gets the value of the customerOrderID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCustomerOrderID() {
+ return customerOrderID;
+ }
+
+ /**
+ * Sets the value of the customerOrderID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCustomerOrderID(String value) {
+ this.customerOrderID = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SaleCapabilitiesType.java b/src/main/java/com/adyen/model/nexo/SaleCapabilitiesType.java
new file mode 100644
index 000000000..3edaa06bd
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SaleCapabilitiesType.java
@@ -0,0 +1,172 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for SaleCapabilitiesType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="SaleCapabilitiesType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="CashierStatus"/>
+ * <enumeration value="CashierError"/>
+ * <enumeration value="CashierDisplay"/>
+ * <enumeration value="POIReplication"/>
+ * <enumeration value="CashierInput"/>
+ * <enumeration value="CustomerAssistance"/>
+ * <enumeration value="CustomerDisplay"/>
+ * <enumeration value="CustomerError"/>
+ * <enumeration value="CustomerInput"/>
+ * <enumeration value="PrinterReceipt"/>
+ * <enumeration value="PrinterDocument"/>
+ * <enumeration value="PrinterVoucher"/>
+ * <enumeration value="MagStripe"/>
+ * <enumeration value="ICC"/>
+ * <enumeration value="EMVContactless"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "SaleCapabilitiesType")
+@XmlEnum
+public enum SaleCapabilitiesType {
+
+
+ /**
+ * To display to the Cashier a new state on which the POI is entering. For instance, during a payment, the POI could display to the Cashier that POI request an
+ */
+ @XmlEnumValue("CashierStatus")
+ @Schema(description = "To display to the Cashier a new state on which the POI is entering. For instance, during a payment, the POI could display to the Cashier that POI request an")
+ CASHIER_STATUS("CashierStatus"),
+
+ /**
+ * To display to the Cashier information related to an error situation occurring on the POI.
+ */
+ @XmlEnumValue("CashierError")
+ @Schema(description = "To display to the Cashier information related to an error situation occurring on the POI.")
+ CASHIER_ERROR("CashierError"),
+
+ /**
+ * Standard Cashier display interface (to ask question, or to show information).
+ */
+ @XmlEnumValue("CashierDisplay")
+ @Schema(description = "Standard Cashier display interface (to ask question, or to show information).")
+ CASHIER_DISPLAY("CashierDisplay"),
+
+ /**
+ * Information displayed on the Cardholder POI interface, replicated on the Cashier interface.
+ */
+ @XmlEnumValue("POIReplication")
+ @Schema(description = "Information displayed on the Cardholder POI interface, replicated on the Cashier interface.")
+ POI_REPLICATION("POIReplication"),
+
+ /**
+ * Any kind of keyboard allowing all or part of the commands of the Input messageType request from the Sale System to the POI System (InputCommand data element). The
+ */
+ @XmlEnumValue("CashierInput")
+ @Schema(description = "Any kind of keyboard allowing all or part of the commands of the Input message request from the Sale System to the POI System (InputCommand data element). The")
+ CASHIER_INPUT("CashierInput"),
+
+ /**
+ * Input of the Cardholder POI interface which can be entered by the Cashier to assist the Customer.
+ */
+ @XmlEnumValue("CustomerAssistance")
+ @Schema(description = "Input of the Cardholder POI interface which can be entered by the Cashier to assist the Customer.")
+ CUSTOMER_ASSISTANCE("CustomerAssistance"),
+
+ /**
+ * Standard Customer display interface used by the POI System to ask question, or to show information to the Customer inside a Service dialogue.
+ */
+ @XmlEnumValue("CustomerDisplay")
+ @Schema(description = "Standard Customer display interface used by the POI System to ask question, or to show information to the Customer inside a Service dialogue.")
+ CUSTOMER_DISPLAY("CustomerDisplay"),
+
+ /**
+ * To display to the Customer information is related to an error situation occurring on the Sale Terminal during a Sale transaction.
+ */
+ @XmlEnumValue("CustomerError")
+ @Schema(description = "To display to the Customer information is related to an error situation occurring on the Sale Terminal during a Sale transaction.")
+ CUSTOMER_ERROR("CustomerError"),
+
+ /**
+ * Any kind of keyboard allowing all or part of the commands of the Input messageType request from the Sale System to the POI System (InputCommand data element). The
+ */
+ @XmlEnumValue("CustomerInput")
+ @Schema(description = "Any kind of keyboard allowing all or part of the commands of the Input message request from the Sale System to the POI System (InputCommand data element). The")
+ CUSTOMER_INPUT("CustomerInput"),
+
+ /**
+ * Printer for the Payment receipt.
+ */
+ @XmlEnumValue("PrinterReceipt")
+ @Schema(description = "Printer for the Payment receipt.")
+ PRINTER_RECEIPT("PrinterReceipt"),
+
+ /**
+ * When the POI System wants to print specific document (check, dynamic currency conversion ...).
+ */
+ @XmlEnumValue("PrinterDocument")
+ @Schema(description = "When the POI System wants to print specific document (check, dynamic currency conversion ...). ")
+ PRINTER_DOCUMENT("PrinterDocument"),
+
+ /**
+ * Coupons, voucher or special ticket generated by the POI and to be printed.
+ */
+ @XmlEnumValue("PrinterVoucher")
+ @Schema(description = "Coupons, voucher or special ticket generated by the POI and to be printed.")
+ PRINTER_VOUCHER("PrinterVoucher"),
+
+ /**
+ * Magnetic stripe card reader
+ */
+ @XmlEnumValue("MagStripe")
+ @Schema(description = "Magnetic stripe card reader")
+ MAG_STRIPE("MagStripe"),
+
+ /**
+ * Contact ICC card reader
+ */
+ ICC("ICC"),
+
+ /**
+ * Contactless card reader with EMV applications
+ */
+ @XmlEnumValue("EMVContactless")
+ @Schema(description = "Contactless card reader with EMV applications")
+ EMV_CONTACTLESS("EMVContactless");
+ private final String value;
+
+ SaleCapabilitiesType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value sale capabilities type.
+ *
+ * @param v the v
+ * @return the sale capabilities type
+ */
+ public static SaleCapabilitiesType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SaleData.java b/src/main/java/com/adyen/model/nexo/SaleData.java
new file mode 100644
index 000000000..3a310524c
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SaleData.java
@@ -0,0 +1,398 @@
+package com.adyen.model.nexo;
+
+import com.adyen.model.terminal.SaleToAcquirerData;
+import com.adyen.serializer.SaleToAcquirerDataSerializer;
+import com.google.gson.annotations.JsonAdapter;
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Data related to the Sale System. -- Usage: Data associated to the Sale System, with a particular value during the processing of the payment by the POI, including the cards acquisition.
+ *
+ * Java class for SaleData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="SaleData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SaleTransactionID" type="{}TransactionIdentification"/>
+ * <element name="SaleTerminalData" type="{}SaleTerminalData" minOccurs="0"/>
+ * <element name="SponsoredMerchant" type="{}SponsoredMerchant" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="SaleToPOIData" type="{}SaleToPOIData" minOccurs="0"/>
+ * <element name="SaleToAcquirerData" type="{}SaleToAcquirerData" minOccurs="0"/>
+ * <element name="SaleToIssuerData" type="{}SaleToIssuerData" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="OperatorID" type="{}OperatorID" />
+ * <attribute name="OperatorLanguage" type="{}ISOLanguage2A" />
+ * <attribute name="ShiftNumber" type="{}ShiftNumber" />
+ * <attribute name="SaleReferenceID" type="{}SaleReferenceID" />
+ * <attribute name="TokenRequested" type="{}TokenRequestedType" />
+ * <attribute name="CustomerOrderID" type="{}CustomerOrderID" />
+ * <attribute name="CustomerOrderReq" type="{}CustomerOrderReq" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SaleData", propOrder = {
+ "saleTransactionID",
+ "saleTerminalData",
+ "sponsoredMerchant",
+ "saleToPOIData",
+ "saleToAcquirerData",
+ "saleToIssuerData"
+})
+public class SaleData {
+
+ /**
+ * The Sale transaction id.
+ */
+ @XmlElement(name = "SaleTransactionID", required = true)
+ @Schema(description = "Unique identification of a Sale transaction")
+ protected TransactionIdentification saleTransactionID;
+ /**
+ * The Sale terminal data.
+ */
+ @XmlElement(name = "SaleTerminalData")
+ @Schema(description = "Information related to the software and hardware feature of the Sale Terminal. --Rule: If content is not empty")
+ protected SaleTerminalData saleTerminalData;
+ /**
+ * The Sponsored merchant.
+ */
+ @XmlElement(name = "SponsoredMerchant")
+ @Schema(description = "Merchant using the payment services of a payment facilitator, acting as a card acceptor. --Rule: If the merchant is a payment facilitator providing services to sponsored merchants.")
+ protected List sponsoredMerchant;
+ /**
+ * The Sale to poi data.
+ */
+ @XmlElement(name = "SaleToPOIData")
+ @Schema(description = "Sale information intended for the POI. --Rule: Stored with the transaction")
+ protected String saleToPOIData;
+ /**
+ * The Sale to acquirer data.
+ */
+ @XmlElement(name = "SaleToAcquirerData")
+ @Schema(description = "Sale information intended for the Acquirer. --Rule: Send to the Acquirer if present")
+ @JsonAdapter(SaleToAcquirerDataSerializer.class)
+ protected SaleToAcquirerData saleToAcquirerData;
+ /**
+ * The Sale to issuer data.
+ */
+ @XmlElement(name = "SaleToIssuerData")
+ @Schema(description = "Sale information intended for the Issuer. --Rule: Send to the Acquirer if present")
+ protected SaleToIssuerData saleToIssuerData;
+ /**
+ * The Operator id.
+ */
+ @XmlElement(name = "OperatorID")
+ @Schema(description = "Identification of the Cashier or Operator. --Rule: if different from the Login and see Login .SaleData")
+ protected String operatorID;
+ /**
+ * The Operator language.
+ */
+ @XmlElement(name = "OperatorLanguage")
+ @Schema(description = "Language of the Cashier or Operator. --Rule: if different from the Login")
+ protected String operatorLanguage;
+ /**
+ * The Shift number.
+ */
+ @XmlElement(name = "ShiftNumber")
+ @Schema(description = "Shift number. --Rule: if different from the Login and see Login .SaleData")
+ protected String shiftNumber;
+ /**
+ * The Sale reference id.
+ */
+ @XmlElement(name = "SaleReferenceID")
+ @Schema(description = "Identification of a Sale global transaction for a sequence of related POI transactions --Rule: If payment reservation")
+ protected String saleReferenceID;
+ /**
+ * The Token requested.
+ */
+ @XmlElement(name = "TokenRequestedType")
+ @Schema(description = "Type of token replacing the PAN of a payment card to identify the payment mean of the customer. --Rule: In a Payment or CardAcquisition request, if a token is requested.")
+ protected TokenRequestedType tokenRequestedType;
+ /**
+ * The Customer order id.
+ */
+ @XmlElement(name = "CustomerOrderID")
+ @Schema(description = "Identification of a customer order. --Rule: If the payment is related to an open customer order.")
+ protected String customerOrderID;
+ /**
+ * The Customer order req.
+ */
+ @XmlElement(name = "CustomerOrderReq")
+ @Schema(description = "List of customer orders must be sent in response message. --Rule: If customer orders must be listed in the response message.")
+ protected List customerOrderReq;
+
+ public SaleData() {
+ saleToAcquirerData = new SaleToAcquirerData();
+ }
+
+ /**
+ * Gets the value of the saleTransactionID property.
+ *
+ * @return possible object is {@link TransactionIdentification }
+ */
+ public TransactionIdentification getSaleTransactionID() {
+ return saleTransactionID;
+ }
+
+ /**
+ * Sets the value of the saleTransactionID property.
+ *
+ * @param value allowed object is {@link TransactionIdentification }
+ */
+ public void setSaleTransactionID(TransactionIdentification value) {
+ saleTransactionID = value;
+ }
+
+ /**
+ * Gets the value of the saleTerminalData property.
+ *
+ * @return possible object is {@link SaleTerminalData }
+ */
+ public SaleTerminalData getSaleTerminalData() {
+ return saleTerminalData;
+ }
+
+ /**
+ * Sets the value of the saleTerminalData property.
+ *
+ * @param value allowed object is {@link SaleTerminalData }
+ */
+ public void setSaleTerminalData(SaleTerminalData value) {
+ saleTerminalData = value;
+ }
+
+ /**
+ * Gets the value of the sponsoredMerchant property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the sponsoredMerchant property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getSponsoredMerchant().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link SponsoredMerchant }
+ *
+ * @return the sponsored merchant
+ */
+ public List getSponsoredMerchant() {
+ if (sponsoredMerchant == null) {
+ sponsoredMerchant = new ArrayList<>();
+ }
+ return sponsoredMerchant;
+ }
+
+ /**
+ * Gets the value of the saleToPOIData property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getSaleToPOIData() {
+ return saleToPOIData;
+ }
+
+ /**
+ * Sets the value of the saleToPOIData property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setSaleToPOIData(String value) {
+ saleToPOIData = value;
+ }
+
+ /**
+ * Gets the value of the saleToAcquirerData property.
+ *
+ * @return possible object is {@link String }
+ */
+ public SaleToAcquirerData getSaleToAcquirerData() {
+ return saleToAcquirerData;
+ }
+
+ /**
+ * Sets the value of the saleToAcquirerData property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setSaleToAcquirerData(SaleToAcquirerData value) {
+ saleToAcquirerData = value;
+ }
+
+ /**
+ * Gets the value of the saleToIssuerData property.
+ *
+ * @return possible object is {@link SaleToIssuerData }
+ */
+ public SaleToIssuerData getSaleToIssuerData() {
+ return saleToIssuerData;
+ }
+
+ /**
+ * Sets the value of the saleToIssuerData property.
+ *
+ * @param value allowed object is {@link SaleToIssuerData }
+ */
+ public void setSaleToIssuerData(SaleToIssuerData value) {
+ saleToIssuerData = value;
+ }
+
+ /**
+ * Gets the value of the operatorID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getOperatorID() {
+ return operatorID;
+ }
+
+ /**
+ * Sets the value of the operatorID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setOperatorID(String value) {
+ operatorID = value;
+ }
+
+ /**
+ * Gets the value of the operatorLanguage property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getOperatorLanguage() {
+ return operatorLanguage;
+ }
+
+ /**
+ * Sets the value of the operatorLanguage property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setOperatorLanguage(String value) {
+ operatorLanguage = value;
+ }
+
+ /**
+ * Gets the value of the shiftNumber property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getShiftNumber() {
+ return shiftNumber;
+ }
+
+ /**
+ * Sets the value of the shiftNumber property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setShiftNumber(String value) {
+ shiftNumber = value;
+ }
+
+ /**
+ * Gets the value of the saleReferenceID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getSaleReferenceID() {
+ return saleReferenceID;
+ }
+
+ /**
+ * Sets the value of the saleReferenceID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setSaleReferenceID(String value) {
+ saleReferenceID = value;
+ }
+
+ /**
+ * Gets the value of the tokenRequestedType property.
+ *
+ * @return possible object is {@link TokenRequestedType }
+ */
+ public TokenRequestedType getTokenRequestedType() {
+ return tokenRequestedType;
+ }
+
+ /**
+ * Sets the value of the tokenRequestedType property.
+ *
+ * @param value allowed object is {@link TokenRequestedType }
+ */
+ public void setTokenRequestedType(TokenRequestedType value) {
+ tokenRequestedType = value;
+ }
+
+ /**
+ * Gets the value of the customerOrderID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCustomerOrderID() {
+ return customerOrderID;
+ }
+
+ /**
+ * Sets the value of the customerOrderID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCustomerOrderID(String value) {
+ customerOrderID = value;
+ }
+
+ /**
+ * Gets the value of the customerOrderReq property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the customerOrderReq property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getCustomerOrderReq().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link CustomerOrderReqType }
+ *
+ * @return the customer order req
+ */
+ public List getCustomerOrderReq() {
+ if (customerOrderReq == null) {
+ customerOrderReq = new ArrayList<>();
+ }
+ return customerOrderReq;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SaleItem.java b/src/main/java/com/adyen/model/nexo/SaleItem.java
new file mode 100644
index 000000000..5f0fcbfe5
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SaleItem.java
@@ -0,0 +1,321 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
+
+/**
+ * Definition: Sale items of a transaction. -- Usage: In loyalty or value added payment card transaction, the items of the sale are entering in the processing of the transaction. The sum of the item amount could be more than the Requested amount in case of split payment without split of the
+ *
+ * Java class for SaleItem complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="SaleItem">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="UnitOfMeasure" type="{}UnitOfMeasureType" minOccurs="0"/>
+ * <element name="Quantity" type="{}Quantity" minOccurs="0"/>
+ * <element name="UnitPrice" type="{}SimpleAmountType" minOccurs="0"/>
+ * <element name="TaxCode" type="{}TaxCode" minOccurs="0"/>
+ * <element name="SaleChannel" type="{}SaleChannel" minOccurs="0"/>
+ * <element name="ProductLabel" type="{}ProductLabel" minOccurs="0"/>
+ * <element name="AdditionalProductInfo" type="{}AdditionalProductInfo" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="ItemID" use="required" type="{}ItemID" />
+ * <attribute name="ProductCode" use="required" type="{}ProductCode" />
+ * <attribute name="EanUpc" type="{}EanUpc" />
+ * <attribute name="ItemAmount" use="required" type="{}SimpleAmountType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SaleItem", propOrder = {
+ "unitOfMeasure",
+ "quantity",
+ "unitPrice",
+ "taxCode",
+ "saleChannel",
+ "productLabel",
+ "additionalProductInfo"
+})
+public class SaleItem {
+
+ /**
+ * The Unit of measure.
+ */
+ @XmlElement(name = "UnitOfMeasure")
+ @Schema(description = "Unit of measure of a quantity --Rule: if Quantity present")
+ @XmlSchemaType(name = "string")
+ protected UnitOfMeasureType unitOfMeasure;
+ /**
+ * The Quantity.
+ */
+ @XmlElement(name = "Quantity")
+ @Schema(description = "Product quantity --Rule: If data sent, POI has to store it and send it if the host protocol allows it")
+ protected BigDecimal quantity;
+ /**
+ * The Unit price.
+ */
+ @XmlElement(name = "UnitPrice")
+ @Schema(description = "Price per unit of product --Rule: if Quantity present")
+ protected BigDecimal unitPrice;
+ /**
+ * The Tax code.
+ */
+ @XmlElement(name = "TaxCode")
+ @Schema(description = "Type of taxes associated to the line item. --Rule: If data sent, POI has to store it and send it if the host protocol allows it")
+ protected String taxCode;
+ /**
+ * The Sale channel.
+ */
+ @XmlElement(name = "SaleChannel")
+ @Schema(description = "Commercial or distribution channel associated to the line item. --Rule: If data sent, POI has to store it and send it if the host protocol allows it")
+ protected String saleChannel;
+ /**
+ * The Product label.
+ */
+ @XmlElement(name = "ProductLabel")
+ @Schema(description = "Product name of an item purchased with the transaction.")
+ protected String productLabel;
+ /**
+ * The Additional product info.
+ */
+ @XmlElement(name = "AdditionalProductInfo")
+ @Schema(description = "Additionl information related to the line item. --Rule: If data sent, POI has to store it and send it if the host protocol allows it")
+ protected String additionalProductInfo;
+ /**
+ * The Item id.
+ */
+ @XmlElement(name = "ItemID", required = true)
+ @Schema(description = "Item identification inside a transaction (0 to n).")
+ protected BigInteger itemID;
+ /**
+ * The Product code.
+ */
+ @XmlElement(name = "ProductCode", required = true)
+ @Schema(description = "Product code of item purchased with the transaction.")
+ protected String productCode;
+ /**
+ * The Ean upc.
+ */
+ @XmlElement(name = "EanUpc")
+ @Schema(description = "Standard product code of item purchased with the transaction. --Rule: If data sent, POI has to store it and send it if the host protocol allows it")
+ protected String eanUpc;
+ /**
+ * The Item amount.
+ */
+ @XmlElement(name = "ItemAmount", required = true)
+ @Schema(description = "Total amount of the item line.")
+ protected BigDecimal itemAmount;
+
+ /**
+ * Gets the value of the unitOfMeasure property.
+ *
+ * @return possible object is {@link UnitOfMeasureType }
+ */
+ public UnitOfMeasureType getUnitOfMeasure() {
+ return unitOfMeasure;
+ }
+
+ /**
+ * Sets the value of the unitOfMeasure property.
+ *
+ * @param value allowed object is {@link UnitOfMeasureType }
+ */
+ public void setUnitOfMeasure(UnitOfMeasureType value) {
+ this.unitOfMeasure = value;
+ }
+
+ /**
+ * Gets the value of the quantity property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getQuantity() {
+ return quantity;
+ }
+
+ /**
+ * Sets the value of the quantity property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setQuantity(BigDecimal value) {
+ this.quantity = value;
+ }
+
+ /**
+ * Gets the value of the unitPrice property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getUnitPrice() {
+ return unitPrice;
+ }
+
+ /**
+ * Sets the value of the unitPrice property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setUnitPrice(BigDecimal value) {
+ this.unitPrice = value;
+ }
+
+ /**
+ * Gets the value of the taxCode property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getTaxCode() {
+ return taxCode;
+ }
+
+ /**
+ * Sets the value of the taxCode property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setTaxCode(String value) {
+ this.taxCode = value;
+ }
+
+ /**
+ * Gets the value of the saleChannel property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getSaleChannel() {
+ return saleChannel;
+ }
+
+ /**
+ * Sets the value of the saleChannel property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setSaleChannel(String value) {
+ this.saleChannel = value;
+ }
+
+ /**
+ * Gets the value of the productLabel property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getProductLabel() {
+ return productLabel;
+ }
+
+ /**
+ * Sets the value of the productLabel property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setProductLabel(String value) {
+ this.productLabel = value;
+ }
+
+ /**
+ * Gets the value of the additionalProductInfo property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getAdditionalProductInfo() {
+ return additionalProductInfo;
+ }
+
+ /**
+ * Sets the value of the additionalProductInfo property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setAdditionalProductInfo(String value) {
+ this.additionalProductInfo = value;
+ }
+
+ /**
+ * Gets the value of the itemID property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getItemID() {
+ return itemID;
+ }
+
+ /**
+ * Sets the value of the itemID property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setItemID(BigInteger value) {
+ this.itemID = value;
+ }
+
+ /**
+ * Gets the value of the productCode property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getProductCode() {
+ return productCode;
+ }
+
+ /**
+ * Sets the value of the productCode property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setProductCode(String value) {
+ this.productCode = value;
+ }
+
+ /**
+ * Gets the value of the eanUpc property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getEanUpc() {
+ return eanUpc;
+ }
+
+ /**
+ * Sets the value of the eanUpc property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setEanUpc(String value) {
+ this.eanUpc = value;
+ }
+
+ /**
+ * Gets the value of the itemAmount property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getItemAmount() {
+ return itemAmount;
+ }
+
+ /**
+ * Sets the value of the itemAmount property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setItemAmount(BigDecimal value) {
+ this.itemAmount = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SaleItemRebate.java b/src/main/java/com/adyen/model/nexo/SaleItemRebate.java
new file mode 100644
index 000000000..24fdea439
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SaleItemRebate.java
@@ -0,0 +1,217 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
+
+/**
+ * Definition: The awarded amount that is attached to an item as a rebate. -- Usage: To be differentiated from the award which is the amount or quantity earned on the loyalty account.
+ *
+ * Java class for SaleItemRebate complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="SaleItemRebate">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="UnitOfMeasure" type="{}UnitOfMeasureType" minOccurs="0"/>
+ * <element name="Quantity" type="{}Quantity" minOccurs="0"/>
+ * <element name="RebateLabel" type="{}RebateLabel" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="ItemID" use="required" type="{}ItemID" />
+ * <attribute name="ProductCode" use="required" type="{}ProductCode" />
+ * <attribute name="EanUpc" type="{}EanUpc" />
+ * <attribute name="ItemAmount" type="{}SimpleAmountType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SaleItemRebate", propOrder = {
+ "unitOfMeasure",
+ "quantity",
+ "rebateLabel"
+})
+public class SaleItemRebate {
+
+ /**
+ * The Unit of measure.
+ */
+ @XmlElement(name = "UnitOfMeasure")
+ @Schema(description = "Unit of measure of a quantity --Rule: if Quantity present")
+ @XmlSchemaType(name = "string")
+ protected UnitOfMeasureType unitOfMeasure;
+ /**
+ * The Quantity.
+ */
+ @XmlElement(name = "Quantity")
+ @Schema(description = "Product quantity --Rule: if rebate is additional units")
+ protected BigDecimal quantity;
+ /**
+ * The Rebate label.
+ */
+ @XmlElement(name = "RebateLabel")
+ @Schema(description = "Short text to qualify a rebate on an line item. --Rule: If provided by the Acquirer")
+ protected String rebateLabel;
+ /**
+ * The Item id.
+ */
+ @XmlElement(name = "ItemID", required = true)
+ @Schema(description = "Item identification inside a transaction (0 to n).")
+ protected BigInteger itemID;
+ /**
+ * The Product code.
+ */
+ @XmlElement(name = "ProductCode", required = true)
+ @Schema(description = "Product code of item purchased with the transaction.")
+ protected String productCode;
+ /**
+ * The Ean upc.
+ */
+ @XmlElement(name = "EanUpc")
+ @Schema(description = "Standard product code of item purchased with the transaction. --Rule: if present in the related SaleItem")
+ protected String eanUpc;
+ /**
+ * The Item amount.
+ */
+ @XmlElement(name = "ItemAmount")
+ @Schema(description = "Total amount of the item line. --Rule: if rebate on the line item amount")
+ protected BigDecimal itemAmount;
+
+ /**
+ * Gets the value of the unitOfMeasure property.
+ *
+ * @return possible object is {@link UnitOfMeasureType }
+ */
+ public UnitOfMeasureType getUnitOfMeasure() {
+ return unitOfMeasure;
+ }
+
+ /**
+ * Sets the value of the unitOfMeasure property.
+ *
+ * @param value allowed object is {@link UnitOfMeasureType }
+ */
+ public void setUnitOfMeasure(UnitOfMeasureType value) {
+ this.unitOfMeasure = value;
+ }
+
+ /**
+ * Gets the value of the quantity property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getQuantity() {
+ return quantity;
+ }
+
+ /**
+ * Sets the value of the quantity property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setQuantity(BigDecimal value) {
+ this.quantity = value;
+ }
+
+ /**
+ * Gets the value of the rebateLabel property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getRebateLabel() {
+ return rebateLabel;
+ }
+
+ /**
+ * Sets the value of the rebateLabel property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setRebateLabel(String value) {
+ this.rebateLabel = value;
+ }
+
+ /**
+ * Gets the value of the itemID property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getItemID() {
+ return itemID;
+ }
+
+ /**
+ * Sets the value of the itemID property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setItemID(BigInteger value) {
+ this.itemID = value;
+ }
+
+ /**
+ * Gets the value of the productCode property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getProductCode() {
+ return productCode;
+ }
+
+ /**
+ * Sets the value of the productCode property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setProductCode(String value) {
+ this.productCode = value;
+ }
+
+ /**
+ * Gets the value of the eanUpc property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getEanUpc() {
+ return eanUpc;
+ }
+
+ /**
+ * Sets the value of the eanUpc property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setEanUpc(String value) {
+ this.eanUpc = value;
+ }
+
+ /**
+ * Gets the value of the itemAmount property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getItemAmount() {
+ return itemAmount;
+ }
+
+ /**
+ * Sets the value of the itemAmount property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setItemAmount(BigDecimal value) {
+ this.itemAmount = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SaleProfile.java b/src/main/java/com/adyen/model/nexo/SaleProfile.java
new file mode 100644
index 000000000..997074618
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SaleProfile.java
@@ -0,0 +1,105 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlList;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Functional profile of the Sale Terminal. -- Usage: Sent in the Login Request to identify the functions that might be requested by the Sale Terminal during the session. The value of this data element contains: One of the generic profile: Basic, Standard or Extended, A list (possibly
+ *
+ * Java class for SaleProfile complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="SaleProfile">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="ServiceProfiles" type="{}ServiceProfiles" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="GenericProfile" type="{}GenericProfileType" default="Standard" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SaleProfile", propOrder = {
+ "serviceProfiles"
+})
+public class SaleProfile {
+
+ /**
+ * The Service profiles.
+ */
+ @XmlList
+ @XmlElement(name = "ServiceProfiles")
+ @Schema(description = "Service profiles of the Sale to POI protocol. --Rule: If a service profile could be requested")
+ protected List serviceProfiles;
+ /**
+ * The Generic profile.
+ */
+ @XmlElement(name = "GenericProfile")
+ @Schema(description = "Functional profile of the Sale to POI protocol.")
+ protected GenericProfileType genericProfile;
+
+ /**
+ * Gets the value of the serviceProfiles property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the serviceProfiles property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getServiceProfiles().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link ServiceProfilesType }
+ *
+ * @return the service profiles
+ */
+ public List getServiceProfiles() {
+ if (serviceProfiles == null) {
+ serviceProfiles = new ArrayList<>();
+ }
+ return this.serviceProfiles;
+ }
+
+ /**
+ * Gets the value of the genericProfile property.
+ *
+ * @return possible object is {@link GenericProfileType }
+ */
+ public GenericProfileType getGenericProfile() {
+ if (genericProfile == null) {
+ return GenericProfileType.STANDARD;
+ } else {
+ return genericProfile;
+ }
+ }
+
+ /**
+ * Sets the value of the genericProfile property.
+ *
+ * @param value allowed object is {@link GenericProfileType }
+ */
+ public void setGenericProfile(GenericProfileType value) {
+ this.genericProfile = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SaleSoftware.java b/src/main/java/com/adyen/model/nexo/SaleSoftware.java
new file mode 100644
index 000000000..1f98df617
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SaleSoftware.java
@@ -0,0 +1,132 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Information related to the software of the Sale System which manages the Sale to POI protocol. -- Usage: Allows in a session to identify the product features of a Sale System.
+ *
+ * Java class for SaleSoftware complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="SaleSoftware">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="ManufacturerID" use="required" type="{}ManufacturerID" />
+ * <attribute name="ApplicationName" use="required" type="{}ApplicationName" />
+ * <attribute name="SoftwareVersion" use="required" type="{}SoftwareVersion" />
+ * <attribute name="CertificationCode" use="required" type="{}CertificationCode" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SaleSoftware")
+public class SaleSoftware {
+
+ /**
+ * The Manufacturer id.
+ */
+ @XmlElement(name = "ManufacturerID", required = true)
+ @Schema(description = "Identification of the Manufacturer")
+ protected String manufacturerID;
+ /**
+ * The Application name.
+ */
+ @XmlElement(name = "ApplicationName", required = true)
+ @Schema(description = "Name of the software product.")
+ protected String applicationName;
+ /**
+ * The Software version.
+ */
+ @XmlElement(name = "SoftwareVersion", required = true)
+ @Schema(description = "Version of the software product")
+ protected String softwareVersion;
+ /**
+ * The Certification code.
+ */
+ @XmlElement(name = "CertificationCode", required = true)
+ @Schema(description = "Certification code of the software which manages the Sale to POI protocol.")
+ protected String certificationCode;
+
+ /**
+ * Gets the value of the manufacturerID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getManufacturerID() {
+ return manufacturerID;
+ }
+
+ /**
+ * Sets the value of the manufacturerID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setManufacturerID(String value) {
+ this.manufacturerID = value;
+ }
+
+ /**
+ * Gets the value of the applicationName property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getApplicationName() {
+ return applicationName;
+ }
+
+ /**
+ * Sets the value of the applicationName property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setApplicationName(String value) {
+ this.applicationName = value;
+ }
+
+ /**
+ * Gets the value of the softwareVersion property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getSoftwareVersion() {
+ return softwareVersion;
+ }
+
+ /**
+ * Sets the value of the softwareVersion property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setSoftwareVersion(String value) {
+ this.softwareVersion = value;
+ }
+
+ /**
+ * Gets the value of the certificationCode property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCertificationCode() {
+ return certificationCode;
+ }
+
+ /**
+ * Sets the value of the certificationCode property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCertificationCode(String value) {
+ this.certificationCode = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SaleTerminalData.java b/src/main/java/com/adyen/model/nexo/SaleTerminalData.java
new file mode 100644
index 000000000..84529eccd
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SaleTerminalData.java
@@ -0,0 +1,152 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlList;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Information related to the software and hardware feature of the Sale Terminal. -- Usage: 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.
+ *
+ * Java class for SaleTerminalData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="SaleTerminalData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SaleCapabilities" type="{}SaleCapabilities" minOccurs="0"/>
+ * <element name="SaleProfile" type="{}SaleProfile" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="TerminalEnvironment" type="{}TerminalEnvironmentType" />
+ * <attribute name="TotalsGroupID" type="{}TotalsGroupID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SaleTerminalData", propOrder = {
+ "saleCapabilities",
+ "saleProfile"
+})
+public class SaleTerminalData {
+
+ /**
+ * The Sale capabilities.
+ */
+ @XmlList
+ @XmlElement(name = "SaleCapabilities")
+ @Schema(description = "Hardware capabilities of the Sale Terminal.")
+ protected List saleCapabilities;
+ /**
+ * The Sale profile.
+ */
+ @XmlElement(name = "SaleProfile")
+ @Schema(description = "Functional profile of the Sale Terminal. --Rule: If at least one element is present")
+ protected SaleProfile saleProfile;
+ /**
+ * The Terminal environment.
+ */
+ @XmlElement(name = "TerminalEnvironment")
+ @Schema(description = "Environment of the Terminal.")
+ protected TerminalEnvironmentType terminalEnvironment;
+ /**
+ * The Totals group id.
+ */
+ @XmlElement(name = "TotalsGroupID")
+ @Schema(description = "Identification of a group of transaction on a POI Terminal, having the same Sale features. --Rule: If present, default value for all transaction.")
+ protected String totalsGroupID;
+
+ /**
+ * Gets the value of the saleCapabilities property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the saleCapabilities property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getSaleCapabilities().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link SaleCapabilitiesType }
+ *
+ * @return the sale capabilities
+ */
+ public List getSaleCapabilities() {
+ if (saleCapabilities == null) {
+ saleCapabilities = new ArrayList<>();
+ }
+ return this.saleCapabilities;
+ }
+
+ /**
+ * Gets the value of the saleProfile property.
+ *
+ * @return possible object is {@link SaleProfile }
+ */
+ public SaleProfile getSaleProfile() {
+ return saleProfile;
+ }
+
+ /**
+ * Sets the value of the saleProfile property.
+ *
+ * @param value allowed object is {@link SaleProfile }
+ */
+ public void setSaleProfile(SaleProfile value) {
+ this.saleProfile = value;
+ }
+
+ /**
+ * Gets the value of the terminalEnvironment property.
+ *
+ * @return possible object is {@link TerminalEnvironmentType }
+ */
+ public TerminalEnvironmentType getTerminalEnvironment() {
+ return terminalEnvironment;
+ }
+
+ /**
+ * Sets the value of the terminalEnvironment property.
+ *
+ * @param value allowed object is {@link TerminalEnvironmentType }
+ */
+ public void setTerminalEnvironment(TerminalEnvironmentType value) {
+ this.terminalEnvironment = value;
+ }
+
+ /**
+ * Gets the value of the totalsGroupID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getTotalsGroupID() {
+ return totalsGroupID;
+ }
+
+ /**
+ * Sets the value of the totalsGroupID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setTotalsGroupID(String value) {
+ this.totalsGroupID = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SaleToIssuerData.java b/src/main/java/com/adyen/model/nexo/SaleToIssuerData.java
new file mode 100644
index 000000000..1fb317e9e
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SaleToIssuerData.java
@@ -0,0 +1,61 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Sale information intended for the Issuer. -- Usage: The POI System receives this information and sends it to the Acquirer for the Issuer without any change.
+ *
+ * Java class for SaleToIssuerData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="SaleToIssuerData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="StatementReference" type="{}StatementReference" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SaleToIssuerData", propOrder = {
+ "statementReference"
+})
+public class SaleToIssuerData {
+
+ /**
+ * The Statement reference.
+ */
+ @XmlElement(name = "StatementReference")
+ @Schema(description = "Label to print on the bank statement. --Rule: Information to print on the bank statement")
+ protected String statementReference;
+
+ /**
+ * Gets the value of the statementReference property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getStatementReference() {
+ return statementReference;
+ }
+
+ /**
+ * Sets the value of the statementReference property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setStatementReference(String value) {
+ this.statementReference = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/terminal/SaleToPOIRequest.java b/src/main/java/com/adyen/model/nexo/SaleToPOIRequest.java
similarity index 51%
rename from src/main/java/com/adyen/terminal/SaleToPOIRequest.java
rename to src/main/java/com/adyen/model/nexo/SaleToPOIRequest.java
index c636081d3..e588bf0be 100644
--- a/src/main/java/com/adyen/terminal/SaleToPOIRequest.java
+++ b/src/main/java/com/adyen/model/nexo/SaleToPOIRequest.java
@@ -1,182 +1,275 @@
-package com.adyen.terminal;
-
-import com.adyen.model.terminal.AbortRequest;
-import com.adyen.model.terminal.AdminRequest;
-import com.adyen.model.terminal.BalanceInquiryRequest;
-import com.adyen.model.terminal.CardAcquisitionRequest;
-import com.adyen.model.terminal.CardReaderAPDURequest;
-import com.adyen.model.terminal.DiagnosisRequest;
-import com.adyen.model.terminal.DisplayRequest;
-import com.adyen.model.terminal.EnableServiceRequest;
-import com.adyen.model.terminal.EventNotification;
-import com.adyen.model.terminal.GetTotalsRequest;
-import com.adyen.model.terminal.InputRequest;
-import com.adyen.model.terminal.JSON;
-import com.adyen.model.terminal.LoginRequest;
-import com.adyen.model.terminal.LogoutRequest;
-import com.adyen.model.terminal.LoyaltyRequest;
-import com.adyen.model.terminal.MessageHeader;
-
-import com.adyen.model.terminal.PaymentRequest;
-import com.adyen.model.terminal.PrintRequest;
-import com.adyen.model.terminal.ReconciliationRequest;
-import com.adyen.model.terminal.ReversalRequest;
-import com.adyen.model.terminal.SecurityTrailer;
-import com.adyen.model.terminal.StoredValueRequest;
-import com.adyen.model.terminal.TransactionStatusRequest;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-@ApiModel(description = "SaleToPoiRequest")
-@JsonPropertyOrder({
- SaleToPOIRequest.JSON_PROPERTY_MESSAGE_HEADER,
- SaleToPOIRequest.JSON_PROPERTY_ABORT_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_BALANCE_INQUIRY_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_CARD_ACQUISITION_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_ADMIN_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_DIAGNOSIS_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_DISPLAY_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_ENABLE_SERVICE_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_EVENT_NOTIFICATION,
- SaleToPOIRequest.JSON_PROPERTY_GET_TOTALS_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_INPUT_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_LOGIN_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_LOGOUT_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_LOYALTY_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_PAYMENT_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_PRINT_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_CARD_READER_APDU_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_RECONCILIATION_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_REVERSAL_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_STORED_VALUE_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_TRANSACTION_STATUS_REQUEST,
- SaleToPOIRequest.JSON_PROPERTY_SECURITY_TRAILER
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Java class for anonymous complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MessageHeader" type="{}MessageHeader"/>
+ * <choice>
+ * <element name="AbortRequest" type="{}AbortRequest"/>
+ * <element name="BalanceInquiryRequest" type="{}BalanceInquiryRequest"/>
+ * <element name="BatchRequest" type="{}BatchRequest"/>
+ * <element name="CardAcquisitionRequest" type="{}CardAcquisitionRequest"/>
+ * <element name="AdminRequest" type="{}AdminRequest"/>
+ * <element name="DiagnosisRequest" type="{}DiagnosisRequest"/>
+ * <element name="DisplayRequest" type="{}DisplayRequest"/>
+ * <element name="EnableServiceRequest" type="{}EnableServiceRequest"/>
+ * <element name="EventNotification" type="{}EventNotification"/>
+ * <element name="GetTotalsRequest" type="{}GetTotalsRequest"/>
+ * <element name="InputRequest" type="{}InputRequest"/>
+ * <element name="InputUpdate" type="{}InputUpdate"/>
+ * <element name="LoginRequest" type="{}LoginRequest"/>
+ * <element name="LogoutRequest" type="{}LogoutRequest"/>
+ * <element name="LoyaltyRequest" type="{}LoyaltyRequest"/>
+ * <element name="PaymentRequest" type="{}PaymentRequest"/>
+ * <element name="PINRequest" type="{}PINRequest"/>
+ * <element name="PrintRequest" type="{}PrintRequest"/>
+ * <element name="CardReaderInitRequest" type="{}CardReaderInitRequest"/>
+ * <element name="CardReaderAPDURequest" type="{}CardReaderAPDURequest"/>
+ * <element name="CardReaderPowerOffRequest" type="{}CardReaderPowerOffRequest"/>
+ * <element name="ReconciliationRequest" type="{}ReconciliationRequest"/>
+ * <element name="ReversalRequest" type="{}ReversalRequest"/>
+ * <element name="SoundRequest" type="{}SoundRequest"/>
+ * <element name="StoredValueRequest" type="{}StoredValueRequest"/>
+ * <element name="TransactionStatusRequest" type="{}TransactionStatusRequest"/>
+ * <element name="TransmitRequest" type="{}TransmitRequest"/>
+ * </choice>
+ * <element name="SecurityTrailer" type="{}ContentInformation" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "messageHeader",
+ "abortRequest",
+ "balanceInquiryRequest",
+ "batchRequest",
+ "cardAcquisitionRequest",
+ "adminRequest",
+ "diagnosisRequest",
+ "displayRequest",
+ "enableServiceRequest",
+ "eventNotification",
+ "getTotalsRequest",
+ "inputRequest",
+ "inputUpdate",
+ "loginRequest",
+ "logoutRequest",
+ "loyaltyRequest",
+ "paymentRequest",
+ "pinRequest",
+ "printRequest",
+ "cardReaderInitRequest",
+ "cardReaderAPDURequest",
+ "cardReaderPowerOffRequest",
+ "reconciliationRequest",
+ "reversalRequest",
+ "soundRequest",
+ "storedValueRequest",
+ "transactionStatusRequest",
+ "transmitRequest",
+ "securityTrailer"
})
+@XmlRootElement(name = "SaleToPOIRequest")
public class SaleToPOIRequest {
/**
* The Message header.
*/
- public static final String JSON_PROPERTY_MESSAGE_HEADER = "MessageHeader";
+ @XmlElement(name = "MessageHeader", required = true)
protected MessageHeader messageHeader;
/**
* The Abort request.
*/
- public static final String JSON_PROPERTY_ABORT_REQUEST = "AbortRequest";
+ @XmlElement(name = "AbortRequest")
+ @Schema(description = "Body of the Abort Request message.")
protected AbortRequest abortRequest;
/**
* The Balance inquiry request.
*/
- public static final String JSON_PROPERTY_BALANCE_INQUIRY_REQUEST = "BalanceInquiryRequest";
+ @XmlElement(name = "BalanceInquiryRequest")
+ @Schema(description = "Content of the Balance Inquiry Request message.")
protected BalanceInquiryRequest balanceInquiryRequest;
+ /**
+ * The Batch request.
+ */
+ @XmlElement(name = "BatchRequest")
+ @Schema(description = "Content of the Batch Request message.")
+ protected BatchRequest batchRequest;
/**
* The Card acquisition request.
*/
- public static final String JSON_PROPERTY_CARD_ACQUISITION_REQUEST = "CardAcquisitionRequest";
+ @XmlElement(name = "CardAcquisitionRequest")
+ @Schema(description = "Content of the Card Acquisition Request message.")
protected CardAcquisitionRequest cardAcquisitionRequest;
/**
* The Admin request.
*/
- public static final String JSON_PROPERTY_ADMIN_REQUEST = "AdminRequest";
+ @XmlElement(name = "AdminRequest")
+ @Schema(description = "Content of the Custom Admin Request message.")
protected AdminRequest adminRequest;
/**
* The Diagnosis request.
*/
- public static final String JSON_PROPERTY_DIAGNOSIS_REQUEST = "DiagnosisRequest";
+ @XmlElement(name = "DiagnosisRequest")
+ @Schema(description = "Content of the Diagnosis Request message.")
protected DiagnosisRequest diagnosisRequest;
/**
* The Display request.
*/
- public static final String JSON_PROPERTY_DISPLAY_REQUEST = "DisplayRequest";
+ @XmlElement(name = "DisplayRequest")
+ @Schema(description = "Content of the Display Request message.")
protected DisplayRequest displayRequest;
/**
* The Enable service request.
*/
- public static final String JSON_PROPERTY_ENABLE_SERVICE_REQUEST = "EnableServiceRequest";
+ @XmlElement(name = "EnableServiceRequest")
+ @Schema(description = "Content of the Enable Service Request message.")
protected EnableServiceRequest enableServiceRequest;
/**
* The Event notification.
*/
- public static final String JSON_PROPERTY_EVENT_NOTIFICATION = "EventNotification";
+ @XmlElement(name = "EventNotification")
+ @Schema(description = "Content of the EventNotification message.")
protected EventNotification eventNotification;
/**
* The Get totals request.
*/
- public static final String JSON_PROPERTY_GET_TOTALS_REQUEST = "GetTotalsRequest";
+ @XmlElement(name = "GetTotalsRequest")
+ @Schema(description = "Content of the Get Totals Request message.")
protected GetTotalsRequest getTotalsRequest;
/**
* The Input request.
*/
- public static final String JSON_PROPERTY_INPUT_REQUEST = "InputRequest";
+ @XmlElement(name = "InputRequest")
+ @Schema(description = "Content of the Input Request message.")
protected InputRequest inputRequest;
+ /**
+ * The Input update.
+ */
+ @XmlElement(name = "InputUpdate")
+ @Schema(description = "Content of the Input Update message.")
+ protected InputUpdate inputUpdate;
/**
* The Login request.
*/
- public static final String JSON_PROPERTY_LOGIN_REQUEST = "LoginRequest";
+ @XmlElement(name = "LoginRequest")
+ @Schema(description = "Content of the Login Request message.")
protected LoginRequest loginRequest;
/**
* The Logout request.
*/
- public static final String JSON_PROPERTY_LOGOUT_REQUEST = "LogoutRequest";
+ @XmlElement(name = "LogoutRequest")
+ @Schema(description = "Content of the Logout Request message.")
protected LogoutRequest logoutRequest;
/**
* The Loyalty request.
*/
- public static final String JSON_PROPERTY_LOYALTY_REQUEST = "LoyaltyRequest";
+ @XmlElement(name = "LoyaltyRequest")
+ @Schema(description = "Content of the Loyalty Request message.")
protected LoyaltyRequest loyaltyRequest;
/**
* The Payment request.
*/
- public static final String JSON_PROPERTY_PAYMENT_REQUEST = "PaymentRequest";
+ @XmlElement(name = "PaymentRequest")
+ @Schema(description = "Content of the Payment Request message.")
protected PaymentRequest paymentRequest;
+ /**
+ * The Pin request.
+ */
+ @XmlElement(name = "PINRequest")
+ @Schema(description = "Content of the PIN Request message.")
+ protected PINRequest pinRequest;
/**
* The Print request.
*/
- public static final String JSON_PROPERTY_PRINT_REQUEST = "PrintRequest";
+ @XmlElement(name = "PrintRequest")
+ @Schema(description = "Content of the Print Request message.")
protected PrintRequest printRequest;
+ /**
+ * The Card reader init request.
+ */
+ @XmlElement(name = "CardReaderInitRequest")
+ @Schema(description = "Content of the Card Reader Init Request message.")
+ protected CardReaderInitRequest cardReaderInitRequest;
/**
* The Card reader apdu request.
*/
- public static final String JSON_PROPERTY_CARD_READER_APDU_REQUEST = "CardReaderAPDURequest";
+ @XmlElement(name = "CardReaderAPDURequest")
+ @Schema(description = "Content of the Card Reader APDU Request message.")
protected CardReaderAPDURequest cardReaderAPDURequest;
+ /**
+ * The Card reader power off request.
+ */
+ @XmlElement(name = "CardReaderPowerOffRequest")
+ @Schema(description = "Content of the Card Reader Power-Off Request message.")
+ protected CardReaderPowerOffRequest cardReaderPowerOffRequest;
/**
* The Reconciliation request.
*/
- public static final String JSON_PROPERTY_RECONCILIATION_REQUEST = "ReconciliationRequest";
+ @XmlElement(name = "ReconciliationRequest")
+ @Schema(description = "Content of the Reconciliation Request message.")
protected ReconciliationRequest reconciliationRequest;
/**
* The Reversal request.
*/
- public static final String JSON_PROPERTY_REVERSAL_REQUEST = "ReversalRequest";
+ @XmlElement(name = "ReversalRequest")
+ @Schema(description = "Content of the Reversal Request message.")
protected ReversalRequest reversalRequest;
+ /**
+ * The Sound request.
+ */
+ @XmlElement(name = "SoundRequest")
+ @Schema(description = "Content of the Sound Request message.")
+ protected SoundRequest soundRequest;
/**
* The Stored value request.
*/
- public static final String JSON_PROPERTY_STORED_VALUE_REQUEST = "StoredValueRequest";
+ @XmlElement(name = "StoredValueRequest")
+ @Schema(description = "Content of the Stored Value Request message.")
protected StoredValueRequest storedValueRequest;
/**
* The Transaction status request.
*/
- public static final String JSON_PROPERTY_TRANSACTION_STATUS_REQUEST = "TransactionStatusRequest";
+ @XmlElement(name = "TransactionStatusRequest")
+ @Schema(description = "Content of the TransactionStatus Request message.")
protected TransactionStatusRequest transactionStatusRequest;
+ /**
+ * The Transmit request.
+ */
+ @XmlElement(name = "TransmitRequest")
+ @Schema(description = "Content of the Transmit Request message.")
+ protected TransmitRequest transmitRequest;
/**
* The Security trailer.
*/
- public static final String JSON_PROPERTY_SECURITY_TRAILER = "SecurityTrailer";
- protected SecurityTrailer securityTrailer;
+ @XmlElement(name = "SecurityTrailer")
+ @Schema(description = "Protection of the whole message")
+ protected ContentInformation securityTrailer;
/**
* Gets the value of the messageHeader property.
*
* @return possible object is {@link MessageHeader }
*/
- @ApiModelProperty(required = true, value = "")
- @JsonProperty(JSON_PROPERTY_MESSAGE_HEADER)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public MessageHeader getMessageHeader() {
return messageHeader;
}
@@ -186,8 +279,6 @@ public MessageHeader getMessageHeader() {
*
* @param value allowed object is {@link MessageHeader }
*/
- @JsonProperty(JSON_PROPERTY_MESSAGE_HEADER)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setMessageHeader(MessageHeader value) {
this.messageHeader = value;
}
@@ -197,9 +288,6 @@ public void setMessageHeader(MessageHeader value) {
*
* @return possible object is {@link AbortRequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_ABORT_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public AbortRequest getAbortRequest() {
return abortRequest;
}
@@ -209,8 +297,6 @@ public AbortRequest getAbortRequest() {
*
* @param value allowed object is {@link AbortRequest }
*/
- @JsonProperty(JSON_PROPERTY_ABORT_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setAbortRequest(AbortRequest value) {
this.abortRequest = value;
}
@@ -220,9 +306,6 @@ public void setAbortRequest(AbortRequest value) {
*
* @return possible object is {@link BalanceInquiryRequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_BALANCE_INQUIRY_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public BalanceInquiryRequest getBalanceInquiryRequest() {
return balanceInquiryRequest;
}
@@ -232,20 +315,33 @@ public BalanceInquiryRequest getBalanceInquiryRequest() {
*
* @param value allowed object is {@link BalanceInquiryRequest }
*/
- @JsonProperty(JSON_PROPERTY_BALANCE_INQUIRY_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setBalanceInquiryRequest(BalanceInquiryRequest value) {
this.balanceInquiryRequest = value;
}
+ /**
+ * Gets the value of the batchRequest property.
+ *
+ * @return possible object is {@link BatchRequest }
+ */
+ public BatchRequest getBatchRequest() {
+ return batchRequest;
+ }
+
+ /**
+ * Sets the value of the batchRequest property.
+ *
+ * @param value allowed object is {@link BatchRequest }
+ */
+ public void setBatchRequest(BatchRequest value) {
+ this.batchRequest = value;
+ }
+
/**
* Gets the value of the cardAcquisitionRequest property.
*
* @return possible object is {@link CardAcquisitionRequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_CARD_ACQUISITION_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public CardAcquisitionRequest getCardAcquisitionRequest() {
return cardAcquisitionRequest;
}
@@ -255,8 +351,6 @@ public CardAcquisitionRequest getCardAcquisitionRequest() {
*
* @param value allowed object is {@link CardAcquisitionRequest }
*/
- @JsonProperty(JSON_PROPERTY_CARD_ACQUISITION_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setCardAcquisitionRequest(CardAcquisitionRequest value) {
this.cardAcquisitionRequest = value;
}
@@ -266,9 +360,6 @@ public void setCardAcquisitionRequest(CardAcquisitionRequest value) {
*
* @return possible object is {@link AdminRequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_ADMIN_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public AdminRequest getAdminRequest() {
return adminRequest;
}
@@ -278,8 +369,6 @@ public AdminRequest getAdminRequest() {
*
* @param value allowed object is {@link AdminRequest }
*/
- @JsonProperty(JSON_PROPERTY_ADMIN_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setAdminRequest(AdminRequest value) {
this.adminRequest = value;
}
@@ -289,9 +378,6 @@ public void setAdminRequest(AdminRequest value) {
*
* @return possible object is {@link DiagnosisRequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_DIAGNOSIS_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public DiagnosisRequest getDiagnosisRequest() {
return diagnosisRequest;
}
@@ -301,8 +387,6 @@ public DiagnosisRequest getDiagnosisRequest() {
*
* @param value allowed object is {@link DiagnosisRequest }
*/
- @JsonProperty(JSON_PROPERTY_DIAGNOSIS_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setDiagnosisRequest(DiagnosisRequest value) {
this.diagnosisRequest = value;
}
@@ -312,9 +396,6 @@ public void setDiagnosisRequest(DiagnosisRequest value) {
*
* @return possible object is {@link DisplayRequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_DISPLAY_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public DisplayRequest getDisplayRequest() {
return displayRequest;
}
@@ -324,8 +405,6 @@ public DisplayRequest getDisplayRequest() {
*
* @param value allowed object is {@link DisplayRequest }
*/
- @JsonProperty(JSON_PROPERTY_DISPLAY_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setDisplayRequest(DisplayRequest value) {
this.displayRequest = value;
}
@@ -335,9 +414,6 @@ public void setDisplayRequest(DisplayRequest value) {
*
* @return possible object is {@link EnableServiceRequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_ENABLE_SERVICE_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public EnableServiceRequest getEnableServiceRequest() {
return enableServiceRequest;
}
@@ -347,8 +423,6 @@ public EnableServiceRequest getEnableServiceRequest() {
*
* @param value allowed object is {@link EnableServiceRequest }
*/
- @JsonProperty(JSON_PROPERTY_ENABLE_SERVICE_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setEnableServiceRequest(EnableServiceRequest value) {
this.enableServiceRequest = value;
}
@@ -358,9 +432,6 @@ public void setEnableServiceRequest(EnableServiceRequest value) {
*
* @return possible object is {@link EventNotification }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_EVENT_NOTIFICATION)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public EventNotification getEventNotification() {
return eventNotification;
}
@@ -370,8 +441,6 @@ public EventNotification getEventNotification() {
*
* @param value allowed object is {@link EventNotification }
*/
- @JsonProperty(JSON_PROPERTY_EVENT_NOTIFICATION)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setEventNotification(EventNotification value) {
this.eventNotification = value;
}
@@ -381,9 +450,6 @@ public void setEventNotification(EventNotification value) {
*
* @return possible object is {@link GetTotalsRequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_GET_TOTALS_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public GetTotalsRequest getGetTotalsRequest() {
return getTotalsRequest;
}
@@ -393,8 +459,6 @@ public GetTotalsRequest getGetTotalsRequest() {
*
* @param value allowed object is {@link GetTotalsRequest }
*/
- @JsonProperty(JSON_PROPERTY_GET_TOTALS_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setGetTotalsRequest(GetTotalsRequest value) {
this.getTotalsRequest = value;
}
@@ -404,9 +468,6 @@ public void setGetTotalsRequest(GetTotalsRequest value) {
*
* @return possible object is {@link InputRequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_INPUT_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public InputRequest getInputRequest() {
return inputRequest;
}
@@ -416,20 +477,33 @@ public InputRequest getInputRequest() {
*
* @param value allowed object is {@link InputRequest }
*/
- @JsonProperty(JSON_PROPERTY_INPUT_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setInputRequest(InputRequest value) {
this.inputRequest = value;
}
+ /**
+ * Gets the value of the inputUpdate property.
+ *
+ * @return possible object is {@link InputUpdate }
+ */
+ public InputUpdate getInputUpdate() {
+ return inputUpdate;
+ }
+
+ /**
+ * Sets the value of the inputUpdate property.
+ *
+ * @param value allowed object is {@link InputUpdate }
+ */
+ public void setInputUpdate(InputUpdate value) {
+ this.inputUpdate = value;
+ }
+
/**
* Gets the value of the loginRequest property.
*
* @return possible object is {@link LoginRequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_LOGIN_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public LoginRequest getLoginRequest() {
return loginRequest;
}
@@ -439,8 +513,6 @@ public LoginRequest getLoginRequest() {
*
* @param value allowed object is {@link LoginRequest }
*/
- @JsonProperty(JSON_PROPERTY_LOGIN_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setLoginRequest(LoginRequest value) {
this.loginRequest = value;
}
@@ -450,9 +522,6 @@ public void setLoginRequest(LoginRequest value) {
*
* @return possible object is {@link LogoutRequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_LOGOUT_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public LogoutRequest getLogoutRequest() {
return logoutRequest;
}
@@ -462,8 +531,6 @@ public LogoutRequest getLogoutRequest() {
*
* @param value allowed object is {@link LogoutRequest }
*/
- @JsonProperty(JSON_PROPERTY_LOGOUT_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setLogoutRequest(LogoutRequest value) {
this.logoutRequest = value;
}
@@ -473,9 +540,6 @@ public void setLogoutRequest(LogoutRequest value) {
*
* @return possible object is {@link LoyaltyRequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_LOYALTY_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public LoyaltyRequest getLoyaltyRequest() {
return loyaltyRequest;
}
@@ -485,8 +549,6 @@ public LoyaltyRequest getLoyaltyRequest() {
*
* @param value allowed object is {@link LoyaltyRequest }
*/
- @JsonProperty(JSON_PROPERTY_LOYALTY_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setLoyaltyRequest(LoyaltyRequest value) {
this.loyaltyRequest = value;
}
@@ -496,9 +558,6 @@ public void setLoyaltyRequest(LoyaltyRequest value) {
*
* @return possible object is {@link PaymentRequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_PAYMENT_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public PaymentRequest getPaymentRequest() {
return paymentRequest;
}
@@ -508,20 +567,33 @@ public PaymentRequest getPaymentRequest() {
*
* @param value allowed object is {@link PaymentRequest }
*/
- @JsonProperty(JSON_PROPERTY_PAYMENT_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setPaymentRequest(PaymentRequest value) {
this.paymentRequest = value;
}
+ /**
+ * Gets the value of the pinRequest property.
+ *
+ * @return possible object is {@link PINRequest }
+ */
+ public PINRequest getPINRequest() {
+ return pinRequest;
+ }
+
+ /**
+ * Sets the value of the pinRequest property.
+ *
+ * @param value allowed object is {@link PINRequest }
+ */
+ public void setPINRequest(PINRequest value) {
+ this.pinRequest = value;
+ }
+
/**
* Gets the value of the printRequest property.
*
* @return possible object is {@link PrintRequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_PRINT_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public PrintRequest getPrintRequest() {
return printRequest;
}
@@ -531,20 +603,33 @@ public PrintRequest getPrintRequest() {
*
* @param value allowed object is {@link PrintRequest }
*/
- @JsonProperty(JSON_PROPERTY_PRINT_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setPrintRequest(PrintRequest value) {
this.printRequest = value;
}
+ /**
+ * Gets the value of the cardReaderInitRequest property.
+ *
+ * @return possible object is {@link CardReaderInitRequest }
+ */
+ public CardReaderInitRequest getCardReaderInitRequest() {
+ return cardReaderInitRequest;
+ }
+
+ /**
+ * Sets the value of the cardReaderInitRequest property.
+ *
+ * @param value allowed object is {@link CardReaderInitRequest }
+ */
+ public void setCardReaderInitRequest(CardReaderInitRequest value) {
+ this.cardReaderInitRequest = value;
+ }
+
/**
* Gets the value of the cardReaderAPDURequest property.
*
* @return possible object is {@link CardReaderAPDURequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_CARD_READER_APDU_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public CardReaderAPDURequest getCardReaderAPDURequest() {
return cardReaderAPDURequest;
}
@@ -554,20 +639,33 @@ public CardReaderAPDURequest getCardReaderAPDURequest() {
*
* @param value allowed object is {@link CardReaderAPDURequest }
*/
- @JsonProperty(JSON_PROPERTY_CARD_READER_APDU_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setCardReaderAPDURequest(CardReaderAPDURequest value) {
this.cardReaderAPDURequest = value;
}
+ /**
+ * Gets the value of the cardReaderPowerOffRequest property.
+ *
+ * @return possible object is {@link CardReaderPowerOffRequest }
+ */
+ public CardReaderPowerOffRequest getCardReaderPowerOffRequest() {
+ return cardReaderPowerOffRequest;
+ }
+
+ /**
+ * Sets the value of the cardReaderPowerOffRequest property.
+ *
+ * @param value allowed object is {@link CardReaderPowerOffRequest }
+ */
+ public void setCardReaderPowerOffRequest(CardReaderPowerOffRequest value) {
+ this.cardReaderPowerOffRequest = value;
+ }
+
/**
* Gets the value of the reconciliationRequest property.
*
* @return possible object is {@link ReconciliationRequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_RECONCILIATION_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public ReconciliationRequest getReconciliationRequest() {
return reconciliationRequest;
}
@@ -577,8 +675,6 @@ public ReconciliationRequest getReconciliationRequest() {
*
* @param value allowed object is {@link ReconciliationRequest }
*/
- @JsonProperty(JSON_PROPERTY_RECONCILIATION_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setReconciliationRequest(ReconciliationRequest value) {
this.reconciliationRequest = value;
}
@@ -588,9 +684,6 @@ public void setReconciliationRequest(ReconciliationRequest value) {
*
* @return possible object is {@link ReversalRequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_REVERSAL_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public ReversalRequest getReversalRequest() {
return reversalRequest;
}
@@ -600,20 +693,33 @@ public ReversalRequest getReversalRequest() {
*
* @param value allowed object is {@link ReversalRequest }
*/
- @JsonProperty(JSON_PROPERTY_REVERSAL_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setReversalRequest(ReversalRequest value) {
this.reversalRequest = value;
}
+ /**
+ * Gets the value of the soundRequest property.
+ *
+ * @return possible object is {@link SoundRequest }
+ */
+ public SoundRequest getSoundRequest() {
+ return soundRequest;
+ }
+
+ /**
+ * Sets the value of the soundRequest property.
+ *
+ * @param value allowed object is {@link SoundRequest }
+ */
+ public void setSoundRequest(SoundRequest value) {
+ this.soundRequest = value;
+ }
+
/**
* Gets the value of the storedValueRequest property.
*
* @return possible object is {@link StoredValueRequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_STORED_VALUE_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public StoredValueRequest getStoredValueRequest() {
return storedValueRequest;
}
@@ -623,8 +729,6 @@ public StoredValueRequest getStoredValueRequest() {
*
* @param value allowed object is {@link StoredValueRequest }
*/
- @JsonProperty(JSON_PROPERTY_STORED_VALUE_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setStoredValueRequest(StoredValueRequest value) {
this.storedValueRequest = value;
}
@@ -634,9 +738,6 @@ public void setStoredValueRequest(StoredValueRequest value) {
*
* @return possible object is {@link TransactionStatusRequest }
*/
- @ApiModelProperty(required = false, value = "")
- @JsonProperty(JSON_PROPERTY_TRANSACTION_STATUS_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public TransactionStatusRequest getTransactionStatusRequest() {
return transactionStatusRequest;
}
@@ -646,53 +747,44 @@ public TransactionStatusRequest getTransactionStatusRequest() {
*
* @param value allowed object is {@link TransactionStatusRequest }
*/
- @JsonProperty(JSON_PROPERTY_TRANSACTION_STATUS_REQUEST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setTransactionStatusRequest(TransactionStatusRequest value) {
this.transactionStatusRequest = value;
}
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class SaleToPOIRequest {\n");
- try {
- sb.append(" saleToPOIRequest: ").append(toIndentedString(this.toJson())).append("\n");
- } catch (JsonProcessingException e) {
- sb.append("Error: Could not serialize saleToPOIRequest");
- }
- sb.append("}");
- return sb.toString();
+ /**
+ * Gets the value of the transmitRequest property.
+ *
+ * @return possible object is {@link TransmitRequest }
+ */
+ public TransmitRequest getTransmitRequest() {
+ return transmitRequest;
}
/**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
+ * Sets the value of the transmitRequest property.
+ *
+ * @param value allowed object is {@link TransmitRequest }
*/
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ public void setTransmitRequest(TransmitRequest value) {
+ this.transmitRequest = value;
}
/**
- * Create an instance of SaleToPOIRequest given an JSON string
+ * Gets the value of the securityTrailer property.
*
- * @param jsonString JSON string
- * @return An instance of AbortRequest
- * @throws JsonProcessingException if the JSON string is invalid with respect to AbortRequest
+ * @return possible object is {@link ContentInformation }
*/
- public static SaleToPOIRequest fromJson(String jsonString) throws JsonProcessingException {
- return JSON.getMapper().readValue(jsonString, SaleToPOIRequest.class);
+ public ContentInformation getSecurityTrailer() {
+ return securityTrailer;
}
/**
- * Convert an instance of SaleToPOIRequest to an JSON string
+ * Sets the value of the securityTrailer property.
*
- * @return JSON string
+ * @param value allowed object is {@link ContentInformation }
*/
- public String toJson() throws JsonProcessingException {
- return JSON.getMapper().writeValueAsString(this);
+ public void setSecurityTrailer(ContentInformation value) {
+ this.securityTrailer = value;
}
+
}
diff --git a/src/main/java/com/adyen/model/nexo/SaleToPOIResponse.java b/src/main/java/com/adyen/model/nexo/SaleToPOIResponse.java
new file mode 100644
index 000000000..f2c66a239
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SaleToPOIResponse.java
@@ -0,0 +1,712 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Java class for anonymous complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MessageHeader" type="{}MessageHeader"/>
+ * <choice>
+ * <element name="BalanceInquiryResponse" type="{}BalanceInquiryResponse"/>
+ * <element name="BatchResponse" type="{}BatchResponse"/>
+ * <element name="CardAcquisitionResponse" type="{}CardAcquisitionResponse"/>
+ * <element name="AdminResponse" type="{}AdminResponse"/>
+ * <element name="DiagnosisResponse" type="{}DiagnosisResponse"/>
+ * <element name="DisplayResponse" type="{}DisplayResponse"/>
+ * <element name="EnableServiceResponse" type="{}EnableServiceResponse"/>
+ * <element name="GetTotalsResponse" type="{}GetTotalsResponse"/>
+ * <element name="InputResponse" type="{}InputResponse"/>
+ * <element name="LoginResponse" type="{}LoginResponse"/>
+ * <element name="LogoutResponse" type="{}LogoutResponse"/>
+ * <element name="LoyaltyResponse" type="{}LoyaltyResponse"/>
+ * <element name="PaymentResponse" type="{}PaymentResponse"/>
+ * <element name="PINResponse" type="{}PINResponse"/>
+ * <element name="PrintResponse" type="{}PrintResponse"/>
+ * <element name="CardReaderInitResponse" type="{}CardReaderInitResponse"/>
+ * <element name="CardReaderAPDUResponse" type="{}CardReaderAPDUResponse"/>
+ * <element name="CardReaderPowerOffResponse" type="{}CardReaderPowerOffResponse"/>
+ * <element name="ReconciliationResponse" type="{}ReconciliationResponse"/>
+ * <element name="ReversalResponse" type="{}ReversalResponse"/>
+ * <element name="SoundResponse" type="{}SoundResponse"/>
+ * <element name="StoredValueResponse" type="{}StoredValueResponse"/>
+ * <element name="TransactionStatusResponse" type="{}TransactionStatusResponse"/>
+ * <element name="TransmitResponse" type="{}TransmitResponse"/>
+ * </choice>
+ * <element name="SecurityTrailer" type="{}ContentInformation" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "messageHeader",
+ "balanceInquiryResponse",
+ "batchResponse",
+ "cardAcquisitionResponse",
+ "adminResponse",
+ "diagnosisResponse",
+ "displayResponse",
+ "enableServiceResponse",
+ "getTotalsResponse",
+ "inputResponse",
+ "loginResponse",
+ "logoutResponse",
+ "loyaltyResponse",
+ "paymentResponse",
+ "pinResponse",
+ "printResponse",
+ "cardReaderInitResponse",
+ "cardReaderAPDUResponse",
+ "cardReaderPowerOffResponse",
+ "reconciliationResponse",
+ "reversalResponse",
+ "soundResponse",
+ "storedValueResponse",
+ "transactionStatusResponse",
+ "transmitResponse",
+ "securityTrailer"
+})
+@XmlRootElement(name = "SaleToPOIResponse")
+public class SaleToPOIResponse {
+
+ /**
+ * The Message header.
+ */
+ @XmlElement(name = "MessageHeader", required = true)
+ protected MessageHeader messageHeader;
+ /**
+ * The Balance inquiry response.
+ */
+ @XmlElement(name = "BalanceInquiryResponse")
+ @Schema(description = "Content of the Balance Inquiry Response message.")
+ protected BalanceInquiryResponse balanceInquiryResponse;
+ /**
+ * The Batch response.
+ */
+ @XmlElement(name = "BatchResponse")
+ @Schema(description = "Content of the Batch Response message.")
+ protected BatchResponse batchResponse;
+ /**
+ * The Card acquisition response.
+ */
+ @XmlElement(name = "CardAcquisitionResponse")
+ @Schema(description = "Content of the Card Acquisition Response message.")
+ protected CardAcquisitionResponse cardAcquisitionResponse;
+ /**
+ * The Admin response.
+ */
+ @XmlElement(name = "AdminResponse")
+ @Schema(description = "Content of the Custom Admin Response message.")
+ protected AdminResponse adminResponse;
+ /**
+ * The Diagnosis response.
+ */
+ @XmlElement(name = "DiagnosisResponse")
+ @Schema(description = "Content of the Diagnosis Response message.")
+ protected DiagnosisResponse diagnosisResponse;
+ /**
+ * The Display response.
+ */
+ @XmlElement(name = "DisplayResponse")
+ @Schema(description = "Content of the Display Response message.")
+ protected DisplayResponse displayResponse;
+ /**
+ * The Enable service response.
+ */
+ @XmlElement(name = "EnableServiceResponse")
+ @Schema(description = "Content of the Enable Service Response message.")
+ protected EnableServiceResponse enableServiceResponse;
+ /**
+ * The Get totals response.
+ */
+ @XmlElement(name = "GetTotalsResponse")
+ @Schema(description = "Content of the Reconciliation Response message.")
+ protected GetTotalsResponse getTotalsResponse;
+ /**
+ * The Input response.
+ */
+ @XmlElement(name = "InputResponse")
+ @Schema(description = "Content of the Input Response message.")
+ protected InputResponse inputResponse;
+ /**
+ * The Login response.
+ */
+ @XmlElement(name = "LoginResponse")
+ @Schema(description = "Content of the Login Response message.")
+ protected LoginResponse loginResponse;
+ /**
+ * The Logout response.
+ */
+ @XmlElement(name = "LogoutResponse")
+ @Schema(description = "Content of the Logout Response message.")
+ protected LogoutResponse logoutResponse;
+ /**
+ * The Loyalty response.
+ */
+ @XmlElement(name = "LoyaltyResponse")
+ @Schema(description = "Content of the Loyalty Response message.")
+ protected LoyaltyResponse loyaltyResponse;
+ /**
+ * The Payment response.
+ */
+ @XmlElement(name = "PaymentResponse")
+ @Schema(description = "Content of the Payment Response message.")
+ protected PaymentResponse paymentResponse;
+ /**
+ * The Pin response.
+ */
+ @XmlElement(name = "PINResponse")
+ @Schema(description = "Content of the PIN Response message.")
+ protected PINResponse pinResponse;
+ /**
+ * The Print response.
+ */
+ @XmlElement(name = "PrintResponse")
+ @Schema(description = "Content of the Print Response message.")
+ protected PrintResponse printResponse;
+ /**
+ * The Card reader init response.
+ */
+ @XmlElement(name = "CardReaderInitResponse")
+ @Schema(description = "Content of the Card Reader Init Response message.")
+ protected CardReaderInitResponse cardReaderInitResponse;
+ /**
+ * The Card reader apdu response.
+ */
+ @XmlElement(name = "CardReaderAPDUResponse")
+ @Schema(description = "Content of the Card Reader APDU Response message.")
+ protected CardReaderAPDUResponse cardReaderAPDUResponse;
+ /**
+ * The Card reader power off response.
+ */
+ @XmlElement(name = "CardReaderPowerOffResponse")
+ @Schema(description = "Content of the Card Reader Power-Off Response message.")
+ protected CardReaderPowerOffResponse cardReaderPowerOffResponse;
+ /**
+ * The Reconciliation response.
+ */
+ @XmlElement(name = "ReconciliationResponse")
+ @Schema(description = "Content of the Reconciliation Response message.")
+ protected ReconciliationResponse reconciliationResponse;
+ /**
+ * The Reversal response.
+ */
+ @XmlElement(name = "ReversalResponse")
+ @Schema(description = "Content of the Reversal Response message.")
+ protected ReversalResponse reversalResponse;
+ /**
+ * The Sound response.
+ */
+ @XmlElement(name = "SoundResponse")
+ @Schema(description = "Content of the Sound Response message.")
+ protected SoundResponse soundResponse;
+ /**
+ * The Stored value response.
+ */
+ @XmlElement(name = "StoredValueResponse")
+ @Schema(description = "Content of the Stored Value Response message.")
+ protected StoredValueResponse storedValueResponse;
+ /**
+ * The Transaction status response.
+ */
+ @XmlElement(name = "TransactionStatusResponse")
+ @Schema(description = "Content of the TransactionStatus Response message.")
+ protected TransactionStatusResponse transactionStatusResponse;
+ /**
+ * The Transmit response.
+ */
+ @XmlElement(name = "TransmitResponse")
+ @Schema(description = "Content of the Transmit Response message.")
+ protected TransmitResponse transmitResponse;
+ /**
+ * The Security trailer.
+ */
+ @XmlElement(name = "SecurityTrailer")
+ @Schema(description = "Protection of the whole message")
+ protected ContentInformation securityTrailer;
+
+ /**
+ * Gets the value of the messageHeader property.
+ *
+ * @return possible object is {@link MessageHeader }
+ */
+ public MessageHeader getMessageHeader() {
+ return messageHeader;
+ }
+
+ /**
+ * Sets the value of the messageHeader property.
+ *
+ * @param value allowed object is {@link MessageHeader }
+ */
+ public void setMessageHeader(MessageHeader value) {
+ this.messageHeader = value;
+ }
+
+ /**
+ * Gets the value of the balanceInquiryResponse property.
+ *
+ * @return possible object is {@link BalanceInquiryResponse }
+ */
+ public BalanceInquiryResponse getBalanceInquiryResponse() {
+ return balanceInquiryResponse;
+ }
+
+ /**
+ * Sets the value of the balanceInquiryResponse property.
+ *
+ * @param value allowed object is {@link BalanceInquiryResponse }
+ */
+ public void setBalanceInquiryResponse(BalanceInquiryResponse value) {
+ this.balanceInquiryResponse = value;
+ }
+
+ /**
+ * Gets the value of the batchResponse property.
+ *
+ * @return possible object is {@link BatchResponse }
+ */
+ public BatchResponse getBatchResponse() {
+ return batchResponse;
+ }
+
+ /**
+ * Sets the value of the batchResponse property.
+ *
+ * @param value allowed object is {@link BatchResponse }
+ */
+ public void setBatchResponse(BatchResponse value) {
+ this.batchResponse = value;
+ }
+
+ /**
+ * Gets the value of the cardAcquisitionResponse property.
+ *
+ * @return possible object is {@link CardAcquisitionResponse }
+ */
+ public CardAcquisitionResponse getCardAcquisitionResponse() {
+ return cardAcquisitionResponse;
+ }
+
+ /**
+ * Sets the value of the cardAcquisitionResponse property.
+ *
+ * @param value allowed object is {@link CardAcquisitionResponse }
+ */
+ public void setCardAcquisitionResponse(CardAcquisitionResponse value) {
+ this.cardAcquisitionResponse = value;
+ }
+
+ /**
+ * Gets the value of the adminResponse property.
+ *
+ * @return possible object is {@link AdminResponse }
+ */
+ public AdminResponse getAdminResponse() {
+ return adminResponse;
+ }
+
+ /**
+ * Sets the value of the adminResponse property.
+ *
+ * @param value allowed object is {@link AdminResponse }
+ */
+ public void setAdminResponse(AdminResponse value) {
+ this.adminResponse = value;
+ }
+
+ /**
+ * Gets the value of the diagnosisResponse property.
+ *
+ * @return possible object is {@link DiagnosisResponse }
+ */
+ public DiagnosisResponse getDiagnosisResponse() {
+ return diagnosisResponse;
+ }
+
+ /**
+ * Sets the value of the diagnosisResponse property.
+ *
+ * @param value allowed object is {@link DiagnosisResponse }
+ */
+ public void setDiagnosisResponse(DiagnosisResponse value) {
+ this.diagnosisResponse = value;
+ }
+
+ /**
+ * Gets the value of the displayResponse property.
+ *
+ * @return possible object is {@link DisplayResponse }
+ */
+ public DisplayResponse getDisplayResponse() {
+ return displayResponse;
+ }
+
+ /**
+ * Sets the value of the displayResponse property.
+ *
+ * @param value allowed object is {@link DisplayResponse }
+ */
+ public void setDisplayResponse(DisplayResponse value) {
+ this.displayResponse = value;
+ }
+
+ /**
+ * Gets the value of the enableServiceResponse property.
+ *
+ * @return possible object is {@link EnableServiceResponse }
+ */
+ public EnableServiceResponse getEnableServiceResponse() {
+ return enableServiceResponse;
+ }
+
+ /**
+ * Sets the value of the enableServiceResponse property.
+ *
+ * @param value allowed object is {@link EnableServiceResponse }
+ */
+ public void setEnableServiceResponse(EnableServiceResponse value) {
+ this.enableServiceResponse = value;
+ }
+
+ /**
+ * Gets the value of the getTotalsResponse property.
+ *
+ * @return possible object is {@link GetTotalsResponse }
+ */
+ public GetTotalsResponse getGetTotalsResponse() {
+ return getTotalsResponse;
+ }
+
+ /**
+ * Sets the value of the getTotalsResponse property.
+ *
+ * @param value allowed object is {@link GetTotalsResponse }
+ */
+ public void setGetTotalsResponse(GetTotalsResponse value) {
+ this.getTotalsResponse = value;
+ }
+
+ /**
+ * Gets the value of the inputResponse property.
+ *
+ * @return possible object is {@link InputResponse }
+ */
+ public InputResponse getInputResponse() {
+ return inputResponse;
+ }
+
+ /**
+ * Sets the value of the inputResponse property.
+ *
+ * @param value allowed object is {@link InputResponse }
+ */
+ public void setInputResponse(InputResponse value) {
+ this.inputResponse = value;
+ }
+
+ /**
+ * Gets the value of the loginResponse property.
+ *
+ * @return possible object is {@link LoginResponse }
+ */
+ public LoginResponse getLoginResponse() {
+ return loginResponse;
+ }
+
+ /**
+ * Sets the value of the loginResponse property.
+ *
+ * @param value allowed object is {@link LoginResponse }
+ */
+ public void setLoginResponse(LoginResponse value) {
+ this.loginResponse = value;
+ }
+
+ /**
+ * Gets the value of the logoutResponse property.
+ *
+ * @return possible object is {@link LogoutResponse }
+ */
+ public LogoutResponse getLogoutResponse() {
+ return logoutResponse;
+ }
+
+ /**
+ * Sets the value of the logoutResponse property.
+ *
+ * @param value allowed object is {@link LogoutResponse }
+ */
+ public void setLogoutResponse(LogoutResponse value) {
+ this.logoutResponse = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyResponse property.
+ *
+ * @return possible object is {@link LoyaltyResponse }
+ */
+ public LoyaltyResponse getLoyaltyResponse() {
+ return loyaltyResponse;
+ }
+
+ /**
+ * Sets the value of the loyaltyResponse property.
+ *
+ * @param value allowed object is {@link LoyaltyResponse }
+ */
+ public void setLoyaltyResponse(LoyaltyResponse value) {
+ this.loyaltyResponse = value;
+ }
+
+ /**
+ * Gets the value of the paymentResponse property.
+ *
+ * @return possible object is {@link PaymentResponse }
+ */
+ public PaymentResponse getPaymentResponse() {
+ return paymentResponse;
+ }
+
+ /**
+ * Sets the value of the paymentResponse property.
+ *
+ * @param value allowed object is {@link PaymentResponse }
+ */
+ public void setPaymentResponse(PaymentResponse value) {
+ this.paymentResponse = value;
+ }
+
+ /**
+ * Gets the value of the pinResponse property.
+ *
+ * @return possible object is {@link PINResponse }
+ */
+ public PINResponse getPINResponse() {
+ return pinResponse;
+ }
+
+ /**
+ * Sets the value of the pinResponse property.
+ *
+ * @param value allowed object is {@link PINResponse }
+ */
+ public void setPINResponse(PINResponse value) {
+ this.pinResponse = value;
+ }
+
+ /**
+ * Gets the value of the printResponse property.
+ *
+ * @return possible object is {@link PrintResponse }
+ */
+ public PrintResponse getPrintResponse() {
+ return printResponse;
+ }
+
+ /**
+ * Sets the value of the printResponse property.
+ *
+ * @param value allowed object is {@link PrintResponse }
+ */
+ public void setPrintResponse(PrintResponse value) {
+ this.printResponse = value;
+ }
+
+ /**
+ * Gets the value of the cardReaderInitResponse property.
+ *
+ * @return possible object is {@link CardReaderInitResponse }
+ */
+ public CardReaderInitResponse getCardReaderInitResponse() {
+ return cardReaderInitResponse;
+ }
+
+ /**
+ * Sets the value of the cardReaderInitResponse property.
+ *
+ * @param value allowed object is {@link CardReaderInitResponse }
+ */
+ public void setCardReaderInitResponse(CardReaderInitResponse value) {
+ this.cardReaderInitResponse = value;
+ }
+
+ /**
+ * Gets the value of the cardReaderAPDUResponse property.
+ *
+ * @return possible object is {@link CardReaderAPDUResponse }
+ */
+ public CardReaderAPDUResponse getCardReaderAPDUResponse() {
+ return cardReaderAPDUResponse;
+ }
+
+ /**
+ * Sets the value of the cardReaderAPDUResponse property.
+ *
+ * @param value allowed object is {@link CardReaderAPDUResponse }
+ */
+ public void setCardReaderAPDUResponse(CardReaderAPDUResponse value) {
+ this.cardReaderAPDUResponse = value;
+ }
+
+ /**
+ * Gets the value of the cardReaderPowerOffResponse property.
+ *
+ * @return possible object is {@link CardReaderPowerOffResponse }
+ */
+ public CardReaderPowerOffResponse getCardReaderPowerOffResponse() {
+ return cardReaderPowerOffResponse;
+ }
+
+ /**
+ * Sets the value of the cardReaderPowerOffResponse property.
+ *
+ * @param value allowed object is {@link CardReaderPowerOffResponse }
+ */
+ public void setCardReaderPowerOffResponse(CardReaderPowerOffResponse value) {
+ this.cardReaderPowerOffResponse = value;
+ }
+
+ /**
+ * Gets the value of the reconciliationResponse property.
+ *
+ * @return possible object is {@link ReconciliationResponse }
+ */
+ public ReconciliationResponse getReconciliationResponse() {
+ return reconciliationResponse;
+ }
+
+ /**
+ * Sets the value of the reconciliationResponse property.
+ *
+ * @param value allowed object is {@link ReconciliationResponse }
+ */
+ public void setReconciliationResponse(ReconciliationResponse value) {
+ this.reconciliationResponse = value;
+ }
+
+ /**
+ * Gets the value of the reversalResponse property.
+ *
+ * @return possible object is {@link ReversalResponse }
+ */
+ public ReversalResponse getReversalResponse() {
+ return reversalResponse;
+ }
+
+ /**
+ * Sets the value of the reversalResponse property.
+ *
+ * @param value allowed object is {@link ReversalResponse }
+ */
+ public void setReversalResponse(ReversalResponse value) {
+ this.reversalResponse = value;
+ }
+
+ /**
+ * Gets the value of the soundResponse property.
+ *
+ * @return possible object is {@link SoundResponse }
+ */
+ public SoundResponse getSoundResponse() {
+ return soundResponse;
+ }
+
+ /**
+ * Sets the value of the soundResponse property.
+ *
+ * @param value allowed object is {@link SoundResponse }
+ */
+ public void setSoundResponse(SoundResponse value) {
+ this.soundResponse = value;
+ }
+
+ /**
+ * Gets the value of the storedValueResponse property.
+ *
+ * @return possible object is {@link StoredValueResponse }
+ */
+ public StoredValueResponse getStoredValueResponse() {
+ return storedValueResponse;
+ }
+
+ /**
+ * Sets the value of the storedValueResponse property.
+ *
+ * @param value allowed object is {@link StoredValueResponse }
+ */
+ public void setStoredValueResponse(StoredValueResponse value) {
+ this.storedValueResponse = value;
+ }
+
+ /**
+ * Gets the value of the transactionStatusResponse property.
+ *
+ * @return possible object is {@link TransactionStatusResponse }
+ */
+ public TransactionStatusResponse getTransactionStatusResponse() {
+ return transactionStatusResponse;
+ }
+
+ /**
+ * Sets the value of the transactionStatusResponse property.
+ *
+ * @param value allowed object is {@link TransactionStatusResponse }
+ */
+ public void setTransactionStatusResponse(TransactionStatusResponse value) {
+ this.transactionStatusResponse = value;
+ }
+
+ /**
+ * Gets the value of the transmitResponse property.
+ *
+ * @return possible object is {@link TransmitResponse }
+ */
+ public TransmitResponse getTransmitResponse() {
+ return transmitResponse;
+ }
+
+ /**
+ * Sets the value of the transmitResponse property.
+ *
+ * @param value allowed object is {@link TransmitResponse }
+ */
+ public void setTransmitResponse(TransmitResponse value) {
+ this.transmitResponse = value;
+ }
+
+ /**
+ * Gets the value of the securityTrailer property.
+ *
+ * @return possible object is {@link ContentInformation }
+ */
+ public ContentInformation getSecurityTrailer() {
+ return securityTrailer;
+ }
+
+ /**
+ * Sets the value of the securityTrailer property.
+ *
+ * @param value allowed object is {@link ContentInformation }
+ */
+ public void setSecurityTrailer(ContentInformation value) {
+ this.securityTrailer = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SensitiveCardData.java b/src/main/java/com/adyen/model/nexo/SensitiveCardData.java
new file mode 100644
index 000000000..3e874b414
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SensitiveCardData.java
@@ -0,0 +1,156 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Sensitive information related to the payment card, entered or read by the Sale System. -- Usage: 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
+ *
+ * Java class for SensitiveCardData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="SensitiveCardData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="TrackData" type="{}TrackData" maxOccurs="4" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="PAN" type="{}PAN" />
+ * <attribute name="CardSeqNumb" type="{}CardSeqNumb" />
+ * <attribute name="ExpiryDate" type="{}ExpiryDate" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SensitiveCardData", propOrder = {
+ "trackData"
+})
+public class SensitiveCardData {
+
+ /**
+ * The Track data.
+ */
+ @XmlElement(name = "TrackData")
+ @Schema(description = "Magnetic track or magnetic ink characters line. --Rule: if EntryMode is MagStripe or RFID ")
+ protected List trackData;
+ /**
+ * The Pan.
+ */
+ @XmlElement(name = "PAN")
+ @Schema(description = "Primary Account Number --Rule: ", minLength = 8, maxLength = 28)
+ protected String pan;
+ /**
+ * The Card seq numb.
+ */
+ @XmlElement(name = "CardSeqNumb")
+ @Schema(description = "Card Sequence Number --Rule: if EntryMode is File, Keyed or Manual", minLength = 2, maxLength = 3)
+ protected String cardSeqNumb;
+ /**
+ * The Expiry date.
+ */
+ @XmlElement(name = "ExpiryDate")
+ @Schema(description = "Date after which the card cannot be used. --Rule: if EntryMode is File", minLength = 4, maxLength = 4)
+ protected String expiryDate;
+
+ /**
+ * Gets the value of the trackData property.
+ *
+ *
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the trackData property.
+ *
+ *
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getTrackData().add(newItem);
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link TrackData }
+ *
+ * @return the track data
+ */
+ public List getTrackData() {
+ if (trackData == null) {
+ trackData = new ArrayList<>();
+ }
+ return this.trackData;
+ }
+
+ /**
+ * Gets the value of the pan property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPAN() {
+ return pan;
+ }
+
+ /**
+ * Sets the value of the pan property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPAN(String value) {
+ this.pan = value;
+ }
+
+ /**
+ * Gets the value of the cardSeqNumb property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCardSeqNumb() {
+ return cardSeqNumb;
+ }
+
+ /**
+ * Sets the value of the cardSeqNumb property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCardSeqNumb(String value) {
+ this.cardSeqNumb = value;
+ }
+
+ /**
+ * Gets the value of the expiryDate property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getExpiryDate() {
+ return expiryDate;
+ }
+
+ /**
+ * Sets the value of the expiryDate property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setExpiryDate(String value) {
+ this.expiryDate = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SensitiveMobileData.java b/src/main/java/com/adyen/model/nexo/SensitiveMobileData.java
new file mode 100644
index 000000000..63b7e99d7
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SensitiveMobileData.java
@@ -0,0 +1,107 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Sensitive information related to the mobile phone. -- Usage: This data structure could be CMS protected (EnvelopedData). In this case the data structure SensitiveMobileData is replaced by the data structure ProtectedMobileData of type ContentInformationType. When this data is protected, the exact
+ *
+ * Java class for SensitiveMobileData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="SensitiveMobileData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="MSISDN" use="required" type="{}MSISDN" />
+ * <attribute name="IMSI" type="{}IMSI" />
+ * <attribute name="IMEI" type="{}IMEI" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SensitiveMobileData")
+public class SensitiveMobileData {
+
+ /**
+ * The Msisdn.
+ */
+ @XmlElement(name = "MSISDN", required = true)
+ @Schema(description = "Mobile Subscriber Integrated Service Digital Network (i.e. mobile phone number of the SIM card).")
+ protected String msisdn;
+ /**
+ * The Imsi.
+ */
+ @XmlElement(name = "IMSI")
+ @Schema(description = "International Mobile Subscriber Identity. --Rule: If data available")
+ protected String imsi;
+ /**
+ * The Imei.
+ */
+ @XmlElement(name = "IMEI")
+ @Schema(description = "International Mobile Equipement Identity. --Rule: If data available")
+ protected String imei;
+
+ /**
+ * Gets the value of the msisdn property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getMSISDN() {
+ return msisdn;
+ }
+
+ /**
+ * Sets the value of the msisdn property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setMSISDN(String value) {
+ this.msisdn = value;
+ }
+
+ /**
+ * Gets the value of the imsi property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getIMSI() {
+ return imsi;
+ }
+
+ /**
+ * Sets the value of the imsi property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setIMSI(String value) {
+ this.imsi = value;
+ }
+
+ /**
+ * Gets the value of the imei property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getIMEI() {
+ return imei;
+ }
+
+ /**
+ * Sets the value of the imei property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setIMEI(String value) {
+ this.imei = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/ServiceProfilesType.java b/src/main/java/com/adyen/model/nexo/ServiceProfilesType.java
new file mode 100644
index 000000000..500f61912
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/ServiceProfilesType.java
@@ -0,0 +1,132 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for ServiceProfilesType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="ServiceProfilesType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Synchro"/>
+ * <enumeration value="Batch"/>
+ * <enumeration value="OneTimeRes"/>
+ * <enumeration value="Reservation"/>
+ * <enumeration value="Loyalty"/>
+ * <enumeration value="StoredValue"/>
+ * <enumeration value="PIN"/>
+ * <enumeration value="CardReader"/>
+ * <enumeration value="Sound"/>
+ * <enumeration value="Communication"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "ServiceProfilesType")
+@XmlEnum
+public enum ServiceProfilesType {
+
+
+ /**
+ * CardAcquisition and EnableService could be requested by the Sale System to the POI System.
+ */
+ @XmlEnumValue("Synchro")
+ @Schema(description = "CardAcquisition and EnableService could be requested by the Sale System to the POI System.")
+ SYNCHRO("Synchro"),
+
+ /**
+ * When the POI is unable to perform transactions without the Sale system, e.g. payment at delivery, the POI provides in a Batch the performed transactions, and
+ */
+ @XmlEnumValue("Batch")
+ @Schema(description = "When the POI is unable to perform transactions without the Sale system, e.g. payment at delivery, the POI provides in a Batch the performed transactions, and")
+ BATCH("Batch"),
+
+ /**
+ * One Time Reservation service could be requested by the Sale System (as petrol distribution)
+ */
+ @XmlEnumValue("OneTimeRes")
+ @Schema(description = "One Time Reservation service could be requested by the Sale System (as petrol distribution)")
+ ONE_TIME_RES("OneTimeRes"),
+
+ /**
+ * The Reservation services could be requested by the Sale System
+ */
+ @XmlEnumValue("Reservation")
+ @Schema(description = "The Reservation services could be requested by the Sale System")
+ RESERVATION("Reservation"),
+
+ /**
+ * Loyalty services could be requested by the Sale System
+ */
+ @XmlEnumValue("Loyalty")
+ @Schema(description = "Loyalty services could be requested by the Sale System")
+ LOYALTY("Loyalty"),
+
+ /**
+ * Stored Value service could be requested by the Sale System
+ */
+ @XmlEnumValue("StoredValue")
+ @Schema(description = "Stored Value service could be requested by the Sale System")
+ STORED_VALUE("StoredValue"),
+
+ /**
+ * The Sale System could request the PIN validation services.
+ */
+ PIN("PIN"),
+
+ /**
+ * The Sale System could request Card Reader services.
+ */
+ @XmlEnumValue("CardReader")
+ @Schema(description = "The Sale System could request Card Reader services.")
+ CARD_READER("CardReader"),
+
+ /**
+ * To produce various forms of sounds to a customer or an operator interface.
+ */
+ @XmlEnumValue("Sound")
+ @Schema(description = "To produce various forms of sounds to a customer or an operator interface.")
+ SOUND("Sound"),
+
+ /**
+ * The POI or Sale System could request communication through the Transmit device messages exchange.
+ */
+ @XmlEnumValue("Communication")
+ @Schema(description = "The POI or Sale System could request communication through the Transmit device messages exchange.")
+ COMMUNICATION("Communication");
+ private final String value;
+
+ ServiceProfilesType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value service profiles type.
+ *
+ * @param v the v
+ * @return the service profiles type
+ */
+ public static ServiceProfilesType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/ServicesEnabledType.java b/src/main/java/com/adyen/model/nexo/ServicesEnabledType.java
new file mode 100644
index 000000000..d23e5ed44
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/ServicesEnabledType.java
@@ -0,0 +1,78 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for ServicesEnabledType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="ServicesEnabledType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="CardAcquisition"/>
+ * <enumeration value="Payment"/>
+ * <enumeration value="Loyalty"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "ServicesEnabledType")
+@XmlEnum
+public enum ServicesEnabledType {
+
+
+ /**
+ * Enable the POI to process a card acquisition before the request of the Sale System (e.g. the same processing than the CardAcquisition command, but no more)
+ */
+ @XmlEnumValue("CardAcquisition")
+ @Schema(description = "Enable the POI to process a card acquisition before the request of the Sale System (e.g. the same processing than the CardAcquisition command, but no more)")
+ CARD_ACQUISITION("CardAcquisition"),
+
+ /**
+ * Enable the POI to start a payment transaction before the request of the Sale System (e.g. the same processing than the Payment command)
+ */
+ @XmlEnumValue("Payment")
+ @Schema(description = "Enable the POI to start a payment transaction before the request of the Sale System (e.g. the same processing than the Payment command)")
+ PAYMENT("Payment"),
+
+ /**
+ * Enable the POI to start a loyalty transaction before the request of the Sale System (e.g. the same processing than the Loyalty command)
+ */
+ @XmlEnumValue("Loyalty")
+ @Schema(description = "Enable the POI to start a loyalty transaction before the request of the Sale System (e.g. the same processing than the Loyalty command)")
+ LOYALTY("Loyalty");
+ private final String value;
+
+ ServicesEnabledType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value services enabled type.
+ *
+ * @param v the v
+ * @return the services enabled type
+ */
+ public static ServicesEnabledType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SignaturePoint.java b/src/main/java/com/adyen/model/nexo/SignaturePoint.java
new file mode 100644
index 000000000..c74e19190
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SignaturePoint.java
@@ -0,0 +1,82 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Coordinates of a point where the pen changes direction or lift. -- Usage: 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".
+ *
+ * Java class for SignaturePoint complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="SignaturePoint">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="X" use="required" type="{}X" />
+ * <attribute name="Y" use="required" type="{}Y" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SignaturePoint")
+public class SignaturePoint {
+
+ /**
+ * The X.
+ */
+ @XmlElement(name = "X", required = true)
+ @Schema(description = "Abscissa of a point coordinates.")
+ protected String x;
+ /**
+ * The Y.
+ */
+ @XmlElement(name = "Y", required = true)
+ @Schema(description = "Ordinate of a point coordinates.")
+ protected String y;
+
+ /**
+ * Gets the value of the x property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getX() {
+ return x;
+ }
+
+ /**
+ * Sets the value of the x property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setX(String value) {
+ this.x = value;
+ }
+
+ /**
+ * Gets the value of the y property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getY() {
+ return y;
+ }
+
+ /**
+ * Sets the value of the y property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setY(String value) {
+ this.y = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SignedData.java b/src/main/java/com/adyen/model/nexo/SignedData.java
new file mode 100644
index 000000000..09bff431f
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SignedData.java
@@ -0,0 +1,196 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Cryptographic Message Syntax (CMS) data structure containing signed data -- Reference: RFC 3852: Cryptographic Message Syntax (CMS) -- Usage: This data structure contains: the version of the data structure (which is v1 in EPAS protocol context) the identifiers of the messageType digest algorithms the encapsulated content the certificates for the verification of the signature
+ *
+ * Java class for SignedData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="SignedData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DigestAlgorithm" type="{}AlgorithmIdentifier" maxOccurs="unbounded"/>
+ * <element name="EncapsulatedContent" type="{}EncapsulatedContent"/>
+ * <element name="Certificate" type="{}Certificate" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="Signer" type="{}Signer" maxOccurs="unbounded"/>
+ * </sequence>
+ * <attribute name="Version" type="{}VersionType" default="v1" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SignedData", propOrder = {
+ "digestAlgorithm",
+ "encapsulatedContent",
+ "certificate",
+ "signer"
+})
+public class SignedData {
+
+ /**
+ * The Digest algorithm.
+ */
+ @XmlElement(name = "DigestAlgorithm", required = true)
+ protected List digestAlgorithm;
+ /**
+ * The Encapsulated content.
+ */
+ @XmlElement(name = "EncapsulatedContent", required = true)
+ protected EncapsulatedContent encapsulatedContent;
+ /**
+ * The Certificate.
+ */
+ @XmlElement(name = "Certificate")
+ protected List certificate;
+ /**
+ * The Signer.
+ */
+ @XmlElement(name = "Signer", required = true)
+ protected List signer;
+ /**
+ * The Version.
+ */
+ @XmlElement(name = "Version")
+ protected VersionType version;
+
+ /**
+ * Gets the value of the digestAlgorithm property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the digestAlgorithm property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getDigestAlgorithm().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link AlgorithmIdentifier }
+ *
+ * @return the digest algorithm
+ */
+ public List getDigestAlgorithm() {
+ if (digestAlgorithm == null) {
+ digestAlgorithm = new ArrayList<>();
+ }
+ return this.digestAlgorithm;
+ }
+
+ /**
+ * Gets the value of the encapsulatedContent property.
+ *
+ * @return possible object is {@link EncapsulatedContent }
+ */
+ public EncapsulatedContent getEncapsulatedContent() {
+ return encapsulatedContent;
+ }
+
+ /**
+ * Sets the value of the encapsulatedContent property.
+ *
+ * @param value allowed object is {@link EncapsulatedContent }
+ */
+ public void setEncapsulatedContent(EncapsulatedContent value) {
+ this.encapsulatedContent = value;
+ }
+
+ /**
+ * Gets the value of the certificate property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the certificate property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getCertificate().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * byte[]
+ *
+ * @return the certificate
+ */
+ public List getCertificate() {
+ if (certificate == null) {
+ certificate = new ArrayList<>();
+ }
+ return this.certificate;
+ }
+
+ /**
+ * Gets the value of the signer property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the signer property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getSigner().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link Signer }
+ *
+ * @return the signer
+ */
+ public List getSigner() {
+ if (signer == null) {
+ signer = new ArrayList<>();
+ }
+ return this.signer;
+ }
+
+ /**
+ * Gets the value of the version property.
+ *
+ * @return possible object is {@link VersionType }
+ */
+ public VersionType getVersion() {
+ if (version == null) {
+ return VersionType.V_1;
+ } else {
+ return version;
+ }
+ }
+
+ /**
+ * Sets the value of the version property.
+ *
+ * @param value allowed object is {@link VersionType }
+ */
+ public void setVersion(VersionType value) {
+ this.version = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/Signer.java b/src/main/java/com/adyen/model/nexo/Signer.java
new file mode 100644
index 000000000..8c86ba29f
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/Signer.java
@@ -0,0 +1,161 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Cryptographic Message Syntax (CMS) data structure containing signer information -- Reference: RFC 3852: Cryptographic Message Syntax (CMS) -- Usage: This data structure contains: the version of the data structure (which is v1 in EPAS protocol context) the identifiers of the messageType digest algorithms the encapsulated content the information about the signer
+ *
+ * Java class for Signer complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="Signer">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SignerIdentifier" type="{}SignerIdentifier"/>
+ * <element name="DigestAlgorithm" type="{}AlgorithmIdentifier"/>
+ * <element name="SignatureAlgorithm" type="{}AlgorithmIdentifier"/>
+ * <element name="Signature" type="{}Signature"/>
+ * </sequence>
+ * <attribute name="Version" type="{}VersionType" default="v1" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Signer", propOrder = {
+ "signerIdentifier",
+ "digestAlgorithm",
+ "signatureAlgorithm",
+ "signature"
+})
+public class Signer {
+
+ /**
+ * The Signer identifier.
+ */
+ @XmlElement(name = "SignerIdentifier", required = true)
+ protected SignerIdentifier signerIdentifier;
+ /**
+ * The Digest algorithm.
+ */
+ @XmlElement(name = "DigestAlgorithm", required = true)
+ protected AlgorithmIdentifier digestAlgorithm;
+ /**
+ * The Signature algorithm.
+ */
+ @XmlElement(name = "SignatureAlgorithm", required = true)
+ protected AlgorithmIdentifier signatureAlgorithm;
+ /**
+ * The Signature.
+ */
+ @XmlElement(name = "Signature", required = true)
+ protected byte[] signature;
+ /**
+ * The Version.
+ */
+ @XmlElement(name = "Version")
+ protected VersionType version;
+
+ /**
+ * Gets the value of the signerIdentifier property.
+ *
+ * @return possible object is {@link SignerIdentifier }
+ */
+ public SignerIdentifier getSignerIdentifier() {
+ return signerIdentifier;
+ }
+
+ /**
+ * Sets the value of the signerIdentifier property.
+ *
+ * @param value allowed object is {@link SignerIdentifier }
+ */
+ public void setSignerIdentifier(SignerIdentifier value) {
+ this.signerIdentifier = value;
+ }
+
+ /**
+ * Gets the value of the digestAlgorithm property.
+ *
+ * @return possible object is {@link AlgorithmIdentifier }
+ */
+ public AlgorithmIdentifier getDigestAlgorithm() {
+ return digestAlgorithm;
+ }
+
+ /**
+ * Sets the value of the digestAlgorithm property.
+ *
+ * @param value allowed object is {@link AlgorithmIdentifier }
+ */
+ public void setDigestAlgorithm(AlgorithmIdentifier value) {
+ this.digestAlgorithm = value;
+ }
+
+ /**
+ * Gets the value of the signatureAlgorithm property.
+ *
+ * @return possible object is {@link AlgorithmIdentifier }
+ */
+ public AlgorithmIdentifier getSignatureAlgorithm() {
+ return signatureAlgorithm;
+ }
+
+ /**
+ * Sets the value of the signatureAlgorithm property.
+ *
+ * @param value allowed object is {@link AlgorithmIdentifier }
+ */
+ public void setSignatureAlgorithm(AlgorithmIdentifier value) {
+ this.signatureAlgorithm = value;
+ }
+
+ /**
+ * Gets the value of the signature property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getSignature() {
+ return signature;
+ }
+
+ /**
+ * Sets the value of the signature property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setSignature(byte[] value) {
+ this.signature = value;
+ }
+
+ /**
+ * Gets the value of the version property.
+ *
+ * @return possible object is {@link VersionType }
+ */
+ public VersionType getVersion() {
+ if (version == null) {
+ return VersionType.V_1;
+ } else {
+ return version;
+ }
+ }
+
+ /**
+ * Sets the value of the version property.
+ *
+ * @param value allowed object is {@link VersionType }
+ */
+ public void setVersion(VersionType value) {
+ this.version = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SignerIdentifier.java b/src/main/java/com/adyen/model/nexo/SignerIdentifier.java
new file mode 100644
index 000000000..ad7bb2f45
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SignerIdentifier.java
@@ -0,0 +1,58 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Cryptographic Message Syntax (CMS) data structure containing the Signer Identifier -- Reference: RFC 3852: Cryptographic Message Syntax (CMS) -- Usage: This data structure contains: the issuer name (see X.501-88) the certificate serial number (see X.509-97)
+ *
+ * Java class for SignerIdentifier complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="SignerIdentifier">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="IssuerAndSerialNumber" type="{}IssuerAndSerialNumber"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SignerIdentifier", propOrder = {
+ "issuerAndSerialNumber"
+})
+public class SignerIdentifier {
+
+ /**
+ * The Issuer and serial number.
+ */
+ @XmlElement(name = "IssuerAndSerialNumber", required = true)
+ protected IssuerAndSerialNumber issuerAndSerialNumber;
+
+ /**
+ * Gets the value of the issuerAndSerialNumber property.
+ *
+ * @return possible object is {@link IssuerAndSerialNumber }
+ */
+ public IssuerAndSerialNumber getIssuerAndSerialNumber() {
+ return issuerAndSerialNumber;
+ }
+
+ /**
+ * Sets the value of the issuerAndSerialNumber property.
+ *
+ * @param value allowed object is {@link IssuerAndSerialNumber }
+ */
+ public void setIssuerAndSerialNumber(IssuerAndSerialNumber value) {
+ this.issuerAndSerialNumber = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SoundActionType.java b/src/main/java/com/adyen/model/nexo/SoundActionType.java
new file mode 100644
index 000000000..ac4a3ee30
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SoundActionType.java
@@ -0,0 +1,78 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for SoundActionType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="SoundActionType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="StartSound"/>
+ * <enumeration value="StopSound"/>
+ * <enumeration value="SetDefaultVolume"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "SoundActionType")
+@XmlEnum
+public enum SoundActionType {
+
+
+ /**
+ * Start the sound as specified in the messageType.
+ */
+ @XmlEnumValue("StartSound")
+ @Schema(description = "Start the sound as specified in the message.")
+ START_SOUND("StartSound"),
+
+ /**
+ * Stop the sound in progress.
+ */
+ @XmlEnumValue("StopSound")
+ @Schema(description = "Stop the sound in progress.")
+ STOP_SOUND("StopSound"),
+
+ /**
+ * Set the default volume of sounds.
+ */
+ @XmlEnumValue("SetDefaultVolume")
+ @Schema(description = "Set the default volume of sounds.")
+ SET_DEFAULT_VOLUME("SetDefaultVolume");
+ private final String value;
+
+ SoundActionType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value sound action type.
+ *
+ * @param v the v
+ * @return the sound action type
+ */
+ public static SoundActionType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SoundContent.java b/src/main/java/com/adyen/model/nexo/SoundContent.java
new file mode 100644
index 000000000..3ac9addd4
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SoundContent.java
@@ -0,0 +1,129 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the Sound to play.
+ *
+ * Java class for SoundContent complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="SoundContent">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="SoundFormat" type="{}SoundFormatType" />
+ * <attribute name="Language" type="{}ISOLanguage2A" />
+ * <attribute name="ReferenceID" type="{}ReferenceID" />
+ * <attribute name="Text" type="{}Text" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SoundContent")
+public class SoundContent {
+
+ @XmlElement(name = "SoundFormat")
+ @Schema(description = "Type of sound to play.")
+ protected SoundFormatType soundFormat;
+ @XmlElement(name = "Language")
+ @Schema(description = "Identification of a language.")
+ protected String language;
+
+ @XmlElement(name = "ReferenceID")
+ @Schema(description = "Identification of a predefined message to display, print or play. --Rule: Mandatory if SoundFormat is SoundRef or MessageRef.")
+ protected String referenceID;
+ @XmlElement(name = "Text")
+ @Schema(description = "Content of text message to display, print or play.")
+ protected String text;
+
+ /**
+ * Gets the value of the soundFormat property.
+ *
+ * @return possible object is
+ * {@link SoundFormatType }
+ */
+ public SoundFormatType getSoundFormat() {
+ return soundFormat;
+ }
+
+ /**
+ * Sets the value of the soundFormat property.
+ *
+ * @param value allowed object is
+ * {@link SoundFormatType }
+ */
+ public void setSoundFormat(SoundFormatType value) {
+ this.soundFormat = value;
+ }
+
+ /**
+ * Gets the value of the language property.
+ *
+ * @return possible object is
+ * {@link String }
+ */
+ public String getLanguage() {
+ return language;
+ }
+
+ /**
+ * Sets the value of the language property.
+ *
+ * @param value allowed object is
+ * {@link String }
+ */
+ public void setLanguage(String value) {
+ this.language = value;
+ }
+
+ /**
+ * Gets the value of the referenceID property.
+ *
+ * @return possible object is
+ * {@link String }
+ */
+ public String getReferenceID() {
+ return referenceID;
+ }
+
+ /**
+ * Sets the value of the referenceID property.
+ *
+ * @param value allowed object is
+ * {@link String }
+ */
+ public void setReferenceID(String value) {
+ this.referenceID = value;
+ }
+
+ /**
+ * Gets the value of the text property.
+ *
+ * @return possible object is
+ * {@link String }
+ */
+ public String getText() {
+ return text;
+ }
+
+ /**
+ * Sets the value of the text property.
+ *
+ * @param value allowed object is
+ * {@link String }
+ */
+ public void setText(String value) {
+ this.text = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SoundFormatType.java b/src/main/java/com/adyen/model/nexo/SoundFormatType.java
new file mode 100644
index 000000000..c7c62f76b
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SoundFormatType.java
@@ -0,0 +1,78 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for SoundFormatType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="SoundFormatType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="SoundRef"/>
+ * <enumeration value="MessageRef"/>
+ * <enumeration value="Text"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "SoundFormatType")
+@XmlEnum
+public enum SoundFormatType {
+
+
+ /**
+ * Preloaded sound File.
+ */
+ @XmlEnumValue("SoundRef")
+ @Schema(description = "Preloaded sound File.")
+ SOUND_REF("SoundRef"),
+
+ /**
+ * Reference of a preloaded text to play.
+ */
+ @XmlEnumValue("MessageRef")
+ @Schema(description = "Reference of a preloaded text to play.")
+ MESSAGE_REF("MessageRef"),
+
+ /**
+ * Text to play.
+ */
+ @XmlEnumValue("Text")
+ @Schema(description = "Text to play.")
+ TEXT("Text");
+ private final String value;
+
+ SoundFormatType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value sound format type.
+ *
+ * @param v the v
+ * @return the sound format type
+ */
+ public static SoundFormatType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SoundRequest.java b/src/main/java/com/adyen/model/nexo/SoundRequest.java
new file mode 100644
index 000000000..adba06139
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SoundRequest.java
@@ -0,0 +1,141 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigInteger;
+
+
+/**
+ * Definition: Content of the Sound Request messageType. -- Usage: It conveys the data to start a sound, stop a sound, or modify the default sound volume. The sound to play may be a preloaded sound or a text to play.
+ *
+ * Java class for SoundRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="SoundRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SoundContent" type="{}SoundContent"/>
+ * </sequence>
+ * <attribute name="ResponseMode" type="{}ResponseModeType" default="NotRequired" />
+ * <attribute name="SoundAction" use="required" type="{}SoundActionType" />
+ * <attribute name="SoundVolume" type="{}SoundVolume" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SoundRequest", propOrder = {
+ "soundContent"
+})
+public class SoundRequest {
+
+ /**
+ * The Sound content.
+ */
+ @XmlElement(name = "SoundContent", required = true)
+ @Schema(description = "Content of the Sound to play. --Rule: Absent if SoundAction is SetDefaultVolume, otherwise mandatory.")
+ protected SoundContent soundContent;
+ /**
+ * The Response mode.
+ */
+ @XmlElement(name = "ResponseMode")
+ @Schema(description = "Message response awaited by the initiator of the Request")
+ protected ResponseModeType responseMode;
+ /**
+ * The Sound action.
+ */
+ @XmlElement(name = "SoundAction", required = true)
+ @Schema(description = "Type of action to perform on the sound.")
+ protected SoundActionType soundAction;
+ /**
+ * The Sound volume.
+ */
+ @XmlElement(name = "SoundVolume")
+ @Schema(description = "Volume of a sound, either in a pourcentage of the maximum volume, or 0 to mute. --Rule: Mandatory if SoundAction is SetDefaultVolume")
+ protected BigInteger soundVolume;
+
+ /**
+ * Gets the value of the soundContent property.
+ *
+ * @return possible object is {@link SoundContent }
+ */
+ public SoundContent getSoundContent() {
+ return soundContent;
+ }
+
+ /**
+ * Sets the value of the soundContent property.
+ *
+ * @param value allowed object is {@link SoundContent }
+ */
+ public void setSoundContent(SoundContent value) {
+ this.soundContent = value;
+ }
+
+ /**
+ * Gets the value of the responseMode property.
+ *
+ * @return possible object is {@link ResponseModeType }
+ */
+ public ResponseModeType getResponseMode() {
+ if (responseMode == null) {
+ return ResponseModeType.NOT_REQUIRED;
+ } else {
+ return responseMode;
+ }
+ }
+
+ /**
+ * Sets the value of the responseMode property.
+ *
+ * @param value allowed object is {@link ResponseModeType }
+ */
+ public void setResponseMode(ResponseModeType value) {
+ this.responseMode = value;
+ }
+
+ /**
+ * Gets the value of the soundAction property.
+ *
+ * @return possible object is {@link SoundActionType }
+ */
+ public SoundActionType getSoundAction() {
+ return soundAction;
+ }
+
+ /**
+ * Sets the value of the soundAction property.
+ *
+ * @param value allowed object is {@link SoundActionType }
+ */
+ public void setSoundAction(SoundActionType value) {
+ this.soundAction = value;
+ }
+
+ /**
+ * Gets the value of the soundVolume property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getSoundVolume() {
+ return soundVolume;
+ }
+
+ /**
+ * Sets the value of the soundVolume property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setSoundVolume(BigInteger value) {
+ this.soundVolume = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SoundResponse.java b/src/main/java/com/adyen/model/nexo/SoundResponse.java
new file mode 100644
index 000000000..6d59866cf
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SoundResponse.java
@@ -0,0 +1,61 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the Sound Response messageType. -- Usage: It conveys the result of the Sound request. The response may be absent, at the beginning of the processing, or at the end of the processing.
+ *
+ * Java class for SoundResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="SoundResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SoundResponse", propOrder = {
+ "response"
+})
+public class SoundResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/SponsoredMerchant.java b/src/main/java/com/adyen/model/nexo/SponsoredMerchant.java
new file mode 100644
index 000000000..c3c935e48
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/SponsoredMerchant.java
@@ -0,0 +1,157 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Merchant using the payment services of a payment facilitator, acting as a card acceptor. -- Usage: Identifies the merchant purchasing items, using the payment facilitator to perform the payment of the items.
+ *
+ * Java class for SponsoredMerchant complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="SponsoredMerchant">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="MerchantName" use="required" type="{}MerchantName" />
+ * <attribute name="MerchantAddress" type="{}MerchantAddress" />
+ * <attribute name="MerchantCountry" use="required" type="{}MerchantCountry" />
+ * <attribute name="MerchantCategoryCode" use="required" type="{}MerchantCategoryCode" />
+ * <attribute name="RegistrationID" use="required" type="{}RegistrationID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SponsoredMerchant")
+public class SponsoredMerchant {
+
+ /**
+ * The Merchant name.
+ */
+ @XmlElement(name = "MerchantName", required = true)
+ @Schema(description = "Unformatted name of the merchant.")
+ protected String merchantName;
+ /**
+ * The Merchant address.
+ */
+ @XmlElement(name = "MerchantAddress")
+ @Schema(description = "Unformatted address of the merchant.")
+ protected String merchantAddress;
+ /**
+ * The Merchant country.
+ */
+ @XmlElement(name = "MerchantCountry", required = true)
+ @Schema(description = "Country of the merchant.")
+ protected String merchantCountry;
+ /**
+ * The Merchant category code.
+ */
+ @XmlElement(name = "MerchantCategoryCode", required = true)
+ @Schema(description = "The code which identifies the category of the transaction (MCC).")
+ protected String merchantCategoryCode;
+ /**
+ * The Registration id.
+ */
+ @XmlElement(name = "RegistrationID", required = true)
+ @Schema(description = "Identification of a registered entity.")
+ protected String registrationID;
+
+ /**
+ * Gets the value of the merchantName property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getMerchantName() {
+ return merchantName;
+ }
+
+ /**
+ * Sets the value of the merchantName property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setMerchantName(String value) {
+ this.merchantName = value;
+ }
+
+ /**
+ * Gets the value of the merchantAddress property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getMerchantAddress() {
+ return merchantAddress;
+ }
+
+ /**
+ * Sets the value of the merchantAddress property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setMerchantAddress(String value) {
+ this.merchantAddress = value;
+ }
+
+ /**
+ * Gets the value of the merchantCountry property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getMerchantCountry() {
+ return merchantCountry;
+ }
+
+ /**
+ * Sets the value of the merchantCountry property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setMerchantCountry(String value) {
+ this.merchantCountry = value;
+ }
+
+ /**
+ * Gets the value of the merchantCategoryCode property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getMerchantCategoryCode() {
+ return merchantCategoryCode;
+ }
+
+ /**
+ * Sets the value of the merchantCategoryCode property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setMerchantCategoryCode(String value) {
+ this.merchantCategoryCode = value;
+ }
+
+ /**
+ * Gets the value of the registrationID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getRegistrationID() {
+ return registrationID;
+ }
+
+ /**
+ * Sets the value of the registrationID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setRegistrationID(String value) {
+ this.registrationID = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/StoredValueAccountID.java b/src/main/java/com/adyen/model/nexo/StoredValueAccountID.java
new file mode 100644
index 000000000..38c7baddc
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/StoredValueAccountID.java
@@ -0,0 +1,212 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Identification of the stored value account or the stored value card -- Usage: 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.
+ *
+ * Java class for StoredValueAccountID complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="StoredValueAccountID">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="StoredValueAccountType" use="required" type="{}StoredValueAccountType" />
+ * <attribute name="StoredValueProvider" type="{}StoredValueProvider" />
+ * <attribute name="OwnerName" type="{}OwnerName" />
+ * <attribute name="ExpiryDate" type="{}ExpiryDate" />
+ * <attribute name="EntryMode" use="required" type="{}EntryMode" />
+ * <attribute name="IdentificationType" use="required" type="{}IdentificationType" />
+ * <attribute name="StoredValueID" use="required" type="{}StoredValueID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "StoredValueAccountID")
+public class StoredValueAccountID {
+
+ @XmlElement(name = "StoredValueAccountType", required = true)
+ @Schema(description = "Type of stored value account")
+ protected StoredValueAccountType storedValueAccountType;
+
+ @XmlElement(name = "StoredValueProvider")
+ @Schema(description = "Identification of the provider of the stored value account load/reload --Rule: If available for the card or account.")
+ protected String storedValueProvider;
+
+ @XmlElement(name = "OwnerName")
+ @Schema(description = "Owner name of an account --Rule: If available for the card or account.")
+ protected String ownerName;
+
+ @XmlElement(name = "ExpiryDate")
+ @Schema(description = "Date after which the card cannot be used. --Rule: If required for the card or account.")
+ protected String expiryDate;
+ @XmlElement(name = "EntryMode", required = true)
+ @Schema(description = "Entry mode of the payment instrument information")
+ protected List entryMode;
+ @XmlElement(name = "IdentificationType", required = true)
+ @Schema(description = "Type of account identification")
+ protected IdentificationType identificationType;
+ @XmlElement(name = "StoredValueID", required = true)
+ @Schema(description = "Stored value account identification")
+ protected String storedValueID;
+
+ /**
+ * Gets the value of the storedValueAccountType property.
+ *
+ * @return possible object is
+ * {@link StoredValueAccountType }
+ */
+ public StoredValueAccountType getStoredValueAccountType() {
+ return storedValueAccountType;
+ }
+
+ /**
+ * Sets the value of the storedValueAccountType property.
+ *
+ * @param value allowed object is
+ * {@link StoredValueAccountType }
+ */
+ public void setStoredValueAccountType(StoredValueAccountType value) {
+ this.storedValueAccountType = value;
+ }
+
+ /**
+ * Gets the value of the storedValueProvider property.
+ *
+ * @return possible object is
+ * {@link String }
+ */
+ public String getStoredValueProvider() {
+ return storedValueProvider;
+ }
+
+ /**
+ * Sets the value of the storedValueProvider property.
+ *
+ * @param value allowed object is
+ * {@link String }
+ */
+ public void setStoredValueProvider(String value) {
+ this.storedValueProvider = value;
+ }
+
+ /**
+ * Gets the value of the ownerName property.
+ *
+ * @return possible object is
+ * {@link String }
+ */
+ public String getOwnerName() {
+ return ownerName;
+ }
+
+ /**
+ * Sets the value of the ownerName property.
+ *
+ * @param value allowed object is
+ * {@link String }
+ */
+ public void setOwnerName(String value) {
+ this.ownerName = value;
+ }
+
+ /**
+ * Gets the value of the expiryDate property.
+ *
+ * @return possible object is
+ * {@link String }
+ */
+ public String getExpiryDate() {
+ return expiryDate;
+ }
+
+ /**
+ * Sets the value of the expiryDate property.
+ *
+ * @param value allowed object is
+ * {@link String }
+ */
+ public void setExpiryDate(String value) {
+ this.expiryDate = value;
+ }
+
+ /**
+ * Gets the value of the entryMode property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the entryMode property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getEntryMode().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link EntryModeType }
+ */
+ public List getEntryMode() {
+ if (entryMode == null) {
+ entryMode = new ArrayList<>();
+ }
+ return this.entryMode;
+ }
+
+ /**
+ * Gets the value of the identificationType property.
+ *
+ * @return possible object is
+ * {@link IdentificationType }
+ */
+ public IdentificationType getIdentificationType() {
+ return identificationType;
+ }
+
+ /**
+ * Sets the value of the identificationType property.
+ *
+ * @param value allowed object is
+ * {@link IdentificationType }
+ */
+ public void setIdentificationType(IdentificationType value) {
+ this.identificationType = value;
+ }
+
+ /**
+ * Gets the value of the storedValueID property.
+ *
+ * @return possible object is
+ * {@link String }
+ */
+ public String getStoredValueID() {
+ return storedValueID;
+ }
+
+ /**
+ * Sets the value of the storedValueID property.
+ *
+ * @param value allowed object is
+ * {@link String }
+ */
+ public void setStoredValueID(String value) {
+ this.storedValueID = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/StoredValueAccountStatus.java b/src/main/java/com/adyen/model/nexo/StoredValueAccountStatus.java
new file mode 100644
index 000000000..d4747ffbf
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/StoredValueAccountStatus.java
@@ -0,0 +1,87 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+
+
+/**
+ * Definition: Data related to the result of the stored value card transaction. -- Usage: It contains: - the identification of the stored value accounts or the stored value cards - the identification of the transaction by the stored value host - the balance of the stored value account if relevant
+ *
+ * Java class for StoredValueAccountStatus complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="StoredValueAccountStatus">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="StoredValueAccountID" type="{}StoredValueAccountID"/>
+ * </sequence>
+ * <attribute name="CurrentBalance" type="{}SimpleAmountType" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "StoredValueAccountStatus", propOrder = {
+ "storedValueAccountID"
+})
+public class StoredValueAccountStatus {
+
+ /**
+ * The Stored value account id.
+ */
+ @XmlElement(name = "StoredValueAccountID", required = true)
+ @Schema(description = "Identification of the stored value account or the stored value card")
+ protected StoredValueAccountID storedValueAccountID;
+ /**
+ * The Current balance.
+ */
+ @XmlElement(name = "CurrentBalance")
+ @Schema(description = "Balance of an account. --Rule: if relevant and known")
+ protected BigDecimal currentBalance;
+
+ /**
+ * Gets the value of the storedValueAccountID property.
+ *
+ * @return possible object is {@link StoredValueAccountID }
+ */
+ public StoredValueAccountID getStoredValueAccountID() {
+ return storedValueAccountID;
+ }
+
+ /**
+ * Sets the value of the storedValueAccountID property.
+ *
+ * @param value allowed object is {@link StoredValueAccountID }
+ */
+ public void setStoredValueAccountID(StoredValueAccountID value) {
+ this.storedValueAccountID = value;
+ }
+
+ /**
+ * Gets the value of the currentBalance property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getCurrentBalance() {
+ return currentBalance;
+ }
+
+ /**
+ * Sets the value of the currentBalance property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setCurrentBalance(BigDecimal value) {
+ this.currentBalance = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/StoredValueAccountType.java b/src/main/java/com/adyen/model/nexo/StoredValueAccountType.java
new file mode 100644
index 000000000..578aa8f8b
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/StoredValueAccountType.java
@@ -0,0 +1,78 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for StoredValueAccountType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="StoredValueAccountType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="GiftCard"/>
+ * <enumeration value="PhoneCard"/>
+ * <enumeration value="Other"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "StoredValueAccountType")
+@XmlEnum
+public enum StoredValueAccountType {
+
+
+ /**
+ * Payment mean issued by retailers or banks as a substitute to a non-monetary gift.
+ */
+ @XmlEnumValue("GiftCard")
+ @Schema(description = "Payment mean issued by retailers or banks as a substitute to a non-monetary gift.")
+ GIFT_CARD("GiftCard"),
+
+ /**
+ * Stored value instrument used to pay telephone services (e.g. card or identifier).
+ */
+ @XmlEnumValue("PhoneCard")
+ @Schema(description = "Stored value instrument used to pay telephone services (e.g. card or identifier).")
+ PHONE_CARD("PhoneCard"),
+
+ /**
+ * Other stored value instrument.
+ */
+ @XmlEnumValue("Other")
+ @Schema(description = "Other stored value instrument.")
+ OTHER("Other");
+ private final String value;
+
+ StoredValueAccountType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value stored value account type.
+ *
+ * @param v the v
+ * @return the stored value account type
+ */
+ public static StoredValueAccountType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/StoredValueData.java b/src/main/java/com/adyen/model/nexo/StoredValueData.java
new file mode 100644
index 000000000..3af26359c
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/StoredValueData.java
@@ -0,0 +1,238 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+
+
+/**
+ * Definition: Data related to the stored value card. -- Usage: 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..
+ *
+ * Java class for StoredValueData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="StoredValueData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="StoredValueAccountID" type="{}StoredValueAccountID" minOccurs="0"/>
+ * <element name="OriginalPOITransaction" type="{}OriginalPOITransaction" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="StoredValueProvider" type="{}StoredValueProvider" />
+ * <attribute name="StoredValueTransaction" use="required" type="{}StoredValueTransactionType" />
+ * <attribute name="ProductCode" type="{}ProductCode" />
+ * <attribute name="EanUpc" type="{}EanUpc" />
+ * <attribute name="ItemAmount" use="required" type="{}SimpleAmountType" />
+ * <attribute name="Currency" use="required" type="{}ISOCurrency3A" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "StoredValueData", propOrder = {
+ "storedValueAccountID",
+ "originalPOITransaction"
+})
+public class StoredValueData {
+
+ /**
+ * The Stored value account id.
+ */
+ @XmlElement(name = "StoredValueAccountID")
+ @Schema(description = "Identification of the stored value account or the stored value card --Rule: If the identification of the Stored Value account or card has been made by the Sale System before the request")
+ protected StoredValueAccountID storedValueAccountID;
+ /**
+ * The Original poi transaction.
+ */
+ @XmlElement(name = "OriginalPOITransaction")
+ @Schema(description = "Identification of a previous POI transaction. --Rule: if StoredValueTransactionType is Reverse or Duplicate")
+ protected OriginalPOITransaction originalPOITransaction;
+ /**
+ * The Stored value provider.
+ */
+ @XmlElement(name = "StoredValueProvider")
+ @Schema(description = "Identification of the provider of the stored value account load/reload --Rule: If more than one provider to manage on the POI, and StoredValueAccountID absent.")
+ protected String storedValueProvider;
+ /**
+ * The Stored value transaction.
+ */
+ @XmlElement(name = "StoredValueTransactionType", required = true)
+ @Schema(description = "Identification of operation to proceed on the stored value account or the stored value card")
+ protected StoredValueTransactionType storedValueTransactionType;
+ /**
+ * The Product code.
+ */
+ @XmlElement(name = "ProductCode")
+ @Schema(description = "Product code of item purchased with the transaction.", minLength = 1, maxLength = 20)
+ protected String productCode;
+ /**
+ * The Ean upc.
+ */
+ @XmlElement(name = "EanUpc")
+ @Schema(description = "Standard product code of item purchased with the transaction.")
+ protected String eanUpc;
+ /**
+ * The Item amount.
+ */
+ @XmlElement(name = "ItemAmount", required = true)
+ @Schema(description = "Total amount of the item line.")
+ protected BigDecimal itemAmount;
+ /**
+ * The Currency.
+ */
+ @XmlElement(name = "Currency", required = true)
+ @Schema(description = "Currency of a monetary amount.")
+ protected String currency;
+
+ /**
+ * Gets the value of the storedValueAccountID property.
+ *
+ * @return possible object is {@link StoredValueAccountID }
+ */
+ public StoredValueAccountID getStoredValueAccountID() {
+ return storedValueAccountID;
+ }
+
+ /**
+ * Sets the value of the storedValueAccountID property.
+ *
+ * @param value allowed object is {@link StoredValueAccountID }
+ */
+ public void setStoredValueAccountID(StoredValueAccountID value) {
+ this.storedValueAccountID = value;
+ }
+
+ /**
+ * Gets the value of the originalPOITransaction property.
+ *
+ * @return possible object is {@link OriginalPOITransaction }
+ */
+ public OriginalPOITransaction getOriginalPOITransaction() {
+ return originalPOITransaction;
+ }
+
+ /**
+ * Sets the value of the originalPOITransaction property.
+ *
+ * @param value allowed object is {@link OriginalPOITransaction }
+ */
+ public void setOriginalPOITransaction(OriginalPOITransaction value) {
+ this.originalPOITransaction = value;
+ }
+
+ /**
+ * Gets the value of the storedValueProvider property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getStoredValueProvider() {
+ return storedValueProvider;
+ }
+
+ /**
+ * Sets the value of the storedValueProvider property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setStoredValueProvider(String value) {
+ this.storedValueProvider = value;
+ }
+
+ /**
+ * Gets the value of the storedValueTransactionType property.
+ *
+ * @return possible object is {@link StoredValueTransactionType }
+ */
+ public StoredValueTransactionType getStoredValueTransactionType() {
+ return storedValueTransactionType;
+ }
+
+ /**
+ * Sets the value of the storedValueTransactionType property.
+ *
+ * @param value allowed object is {@link StoredValueTransactionType }
+ */
+ public void setStoredValueTransactionType(StoredValueTransactionType value) {
+ this.storedValueTransactionType = value;
+ }
+
+ /**
+ * Gets the value of the productCode property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getProductCode() {
+ return productCode;
+ }
+
+ /**
+ * Sets the value of the productCode property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setProductCode(String value) {
+ this.productCode = value;
+ }
+
+ /**
+ * Gets the value of the eanUpc property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getEanUpc() {
+ return eanUpc;
+ }
+
+ /**
+ * Sets the value of the eanUpc property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setEanUpc(String value) {
+ this.eanUpc = value;
+ }
+
+ /**
+ * Gets the value of the itemAmount property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getItemAmount() {
+ return itemAmount;
+ }
+
+ /**
+ * Sets the value of the itemAmount property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setItemAmount(BigDecimal value) {
+ this.itemAmount = value;
+ }
+
+ /**
+ * Gets the value of the currency property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCurrency() {
+ return currency;
+ }
+
+ /**
+ * Sets the value of the currency property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCurrency(String value) {
+ this.currency = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/StoredValueRequest.java b/src/main/java/com/adyen/model/nexo/StoredValueRequest.java
new file mode 100644
index 000000000..4f1392332
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/StoredValueRequest.java
@@ -0,0 +1,132 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Stored Value Request messageType. -- Usage: It conveys Information related to the Stored Value transaction to process
+ *
+ * Java class for StoredValueRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="StoredValueRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SaleData" type="{}SaleData"/>
+ * <element name="StoredValueData" type="{}StoredValueData" maxOccurs="unbounded"/>
+ * </sequence>
+ * <attribute name="CustomerLanguage" type="{}ISOLanguage2A" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "StoredValueRequest", propOrder = {
+ "saleData",
+ "storedValueData"
+})
+public class StoredValueRequest {
+
+ /**
+ * The Sale data.
+ */
+ @XmlElement(name = "SaleData", required = true)
+ @Schema(description = "Data related to the Sale System.")
+ protected SaleData saleData;
+ /**
+ * The Stored value data.
+ */
+ @XmlElement(name = "StoredValueData", required = true)
+ @Schema(description = "Data related to the stored value card.")
+ protected List storedValueData;
+ /**
+ * The Customer language.
+ */
+ @XmlElement(name = "CustomerLanguage")
+ @Schema(description = "Language of the Customer --Rule: If the language is selected by the Sale System before the request to the POI.")
+ protected String customerLanguage;
+
+ /**
+ * Gets the value of the saleData property.
+ *
+ * @return possible object is {@link SaleData }
+ */
+ public SaleData getSaleData() {
+ return saleData;
+ }
+
+ /**
+ * Sets the value of the saleData property.
+ *
+ * @param value allowed object is {@link SaleData }
+ */
+ public void setSaleData(SaleData value) {
+ this.saleData = value;
+ }
+
+ /**
+ * Gets the value of the storedValueData property.
+ *
+ *
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the storedValueData property.
+ *
+ *
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getStoredValueData().add(newItem);
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link StoredValueData }
+ *
+ * @return the stored value data
+ */
+ public List getStoredValueData() {
+ if (storedValueData == null) {
+ storedValueData = new ArrayList<>();
+ }
+ return this.storedValueData;
+ }
+
+ /**
+ * Gets the value of the customerLanguage property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCustomerLanguage() {
+ return customerLanguage;
+ }
+
+ /**
+ * Sets the value of the customerLanguage property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCustomerLanguage(String value) {
+ this.customerLanguage = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/StoredValueResponse.java b/src/main/java/com/adyen/model/nexo/StoredValueResponse.java
new file mode 100644
index 000000000..ab3146a97
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/StoredValueResponse.java
@@ -0,0 +1,167 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the Stored Value Response messageType. -- Usage: It conveys Information related to the Stored Value transaction processed by the POI System.
+ *
+ * Java class for StoredValueResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="StoredValueResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * <element name="SaleData" type="{}SaleData"/>
+ * <element name="POIData" type="{}POIData"/>
+ * <element name="StoredValueResult" type="{}StoredValueResult" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "StoredValueResponse", propOrder = {
+ "response",
+ "saleData",
+ "poiData",
+ "storedValueResult",
+ "paymentReceipt"
+})
+public class StoredValueResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Sale data.
+ */
+ @XmlElement(name = "SaleData", required = true)
+ @Schema(description = "Data related to the Sale System.")
+ protected SaleData saleData;
+ /**
+ * The Poi data.
+ */
+ @XmlElement(name = "POIData", required = true)
+ @Schema(description = "Data related to the POI System.")
+ protected POIData poiData;
+ /**
+ * The Stored value result.
+ */
+ @XmlElement(name = "StoredValueResult")
+ @Schema(description = "Result of loading/reloading a stored value card.. --Rule: If StoredValueResponse.Result is \"Success\" or \"Partial\", one entry per StoredValueRequest.StoredValueData loaded or")
+ protected List storedValueResult;
+ /**
+ * The Payment receipt.
+ */
+ @XmlElement(name = "PaymentReceipt")
+ protected List paymentReceipt;
+
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the saleData property.
+ *
+ * @return possible object is {@link SaleData }
+ */
+ public SaleData getSaleData() {
+ return saleData;
+ }
+
+ /**
+ * Sets the value of the saleData property.
+ *
+ * @param value allowed object is {@link SaleData }
+ */
+ public void setSaleData(SaleData value) {
+ this.saleData = value;
+ }
+
+ /**
+ * Gets the value of the poiData property.
+ *
+ * @return possible object is {@link POIData }
+ */
+ public POIData getPOIData() {
+ return poiData;
+ }
+
+ /**
+ * Sets the value of the poiData property.
+ *
+ * @param value allowed object is {@link POIData }
+ */
+ public void setPOIData(POIData value) {
+ this.poiData = value;
+ }
+ /**
+ * Gets the value of the storedValueResult property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the storedValueResult property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getStoredValueResult().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link StoredValueResult }
+ *
+ * @return the stored value result
+ */
+ public List getStoredValueResult() {
+ if (storedValueResult == null) {
+ storedValueResult = new ArrayList<>();
+ }
+ return this.storedValueResult;
+ }
+
+ public List getPaymentReceipt() {
+ return paymentReceipt;
+ }
+
+ public void setPaymentReceipt(List paymentReceipt) {
+ this.paymentReceipt = paymentReceipt;
+ }
+
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/StoredValueResult.java b/src/main/java/com/adyen/model/nexo/StoredValueResult.java
new file mode 100644
index 000000000..74098e3ea
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/StoredValueResult.java
@@ -0,0 +1,213 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+
+
+/**
+ * Definition: Result of loading/reloading a stored value card.. -- Usage: For each stored value card loaded or reloaded, in the StoredValue response messageType
+ *
+ * Java class for StoredValueResult complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="StoredValueResult">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="StoredValueAccountStatus" type="{}StoredValueAccountStatus"/>
+ * <element name="HostTransactionID" type="{}TransactionIdentification" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="StoredValueTransaction" use="required" type="{}StoredValueTransactionType" />
+ * <attribute name="ProductCode" use="required" type="{}ProductCode" />
+ * <attribute name="EanUpc" type="{}EanUpc" />
+ * <attribute name="ItemAmount" use="required" type="{}SimpleAmountType" />
+ * <attribute name="Currency" use="required" type="{}ISOCurrency3A" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "StoredValueResult", propOrder = {
+ "storedValueAccountStatus",
+ "hostTransactionID"
+})
+public class StoredValueResult {
+
+ /**
+ * The Stored value account status.
+ */
+ @XmlElement(name = "StoredValueAccountStatus", required = true)
+ @Schema(description = "Data related to the result of the stored value card transaction.")
+ protected StoredValueAccountStatus storedValueAccountStatus;
+ /**
+ * The Host transaction id.
+ */
+ @XmlElement(name = "HostTransactionID")
+ @Schema(description = "Identification of the transaction by the host in charge of the stored value transaction --Rule: If provided by the Host")
+ protected TransactionIdentification hostTransactionID;
+ /**
+ * The Stored value transaction.
+ */
+ @XmlElement(name = "StoredValueTransactionType", required = true)
+ @Schema(description = "Identification of operation to proceed on the stored value account or the stored value card --Rule: Copy")
+ protected StoredValueTransactionType storedValueTransactionType;
+ /**
+ * The Product code.
+ */
+ @XmlElement(name = "ProductCode", required = true)
+ @Schema(description = "Product code of item purchased with the transaction. --Rule: Copy")
+ protected String productCode;
+ /**
+ * The Ean upc.
+ */
+ @XmlElement(name = "EanUpc")
+ @Schema(description = "Standard product code of item purchased with the transaction. --Rule: Copy")
+ protected String eanUpc;
+ /**
+ * The Item amount.
+ */
+ @XmlElement(name = "ItemAmount", required = true)
+ @Schema(description = "Total amount of the item line.")
+ protected BigDecimal itemAmount;
+ /**
+ * The Currency.
+ */
+ @XmlElement(name = "Currency", required = true)
+ @Schema(description = "Currency of a monetary amount. --Rule: Copy")
+ protected String currency;
+
+ /**
+ * Gets the value of the storedValueAccountStatus property.
+ *
+ * @return possible object is {@link StoredValueAccountStatus }
+ */
+ public StoredValueAccountStatus getStoredValueAccountStatus() {
+ return storedValueAccountStatus;
+ }
+
+ /**
+ * Sets the value of the storedValueAccountStatus property.
+ *
+ * @param value allowed object is {@link StoredValueAccountStatus }
+ */
+ public void setStoredValueAccountStatus(StoredValueAccountStatus value) {
+ this.storedValueAccountStatus = value;
+ }
+
+ /**
+ * Gets the value of the hostTransactionID property.
+ *
+ * @return possible object is {@link TransactionIdentification }
+ */
+ public TransactionIdentification getHostTransactionID() {
+ return hostTransactionID;
+ }
+
+ /**
+ * Sets the value of the hostTransactionID property.
+ *
+ * @param value allowed object is {@link TransactionIdentification }
+ */
+ public void setHostTransactionID(TransactionIdentification value) {
+ this.hostTransactionID = value;
+ }
+
+ /**
+ * Gets the value of the storedValueTransactionType property.
+ *
+ * @return possible object is {@link StoredValueTransactionType }
+ */
+ public StoredValueTransactionType getStoredValueTransactionType() {
+ return storedValueTransactionType;
+ }
+
+ /**
+ * Sets the value of the storedValueTransactionType property.
+ *
+ * @param value allowed object is {@link StoredValueTransactionType }
+ */
+ public void setStoredValueTransactionType(StoredValueTransactionType value) {
+ this.storedValueTransactionType = value;
+ }
+
+ /**
+ * Gets the value of the productCode property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getProductCode() {
+ return productCode;
+ }
+
+ /**
+ * Sets the value of the productCode property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setProductCode(String value) {
+ this.productCode = value;
+ }
+
+ /**
+ * Gets the value of the eanUpc property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getEanUpc() {
+ return eanUpc;
+ }
+
+ /**
+ * Sets the value of the eanUpc property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setEanUpc(String value) {
+ this.eanUpc = value;
+ }
+
+ /**
+ * Gets the value of the itemAmount property.
+ *
+ * @return possible object is {@link BigDecimal }
+ */
+ public BigDecimal getItemAmount() {
+ return itemAmount;
+ }
+
+ /**
+ * Sets the value of the itemAmount property.
+ *
+ * @param value allowed object is {@link BigDecimal }
+ */
+ public void setItemAmount(BigDecimal value) {
+ this.itemAmount = value;
+ }
+
+ /**
+ * Gets the value of the currency property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCurrency() {
+ return currency;
+ }
+
+ /**
+ * Sets the value of the currency property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCurrency(String value) {
+ this.currency = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/StoredValueTransactionType.java b/src/main/java/com/adyen/model/nexo/StoredValueTransactionType.java
new file mode 100644
index 000000000..746437952
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/StoredValueTransactionType.java
@@ -0,0 +1,102 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for StoredValueTransactionType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="StoredValueTransactionType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Reserve"/>
+ * <enumeration value="Activate"/>
+ * <enumeration value="Load"/>
+ * <enumeration value="Unload"/>
+ * <enumeration value="Reverse"/>
+ * <enumeration value="Duplicate"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "StoredValueTransactionType")
+@XmlEnum
+public enum StoredValueTransactionType {
+
+
+ /**
+ * Reserve the account (e.g. get an activation code)
+ */
+ @XmlEnumValue("Reserve")
+ @Schema(description = "Reserve the account (e.g. get an activation code)")
+ RESERVE("Reserve"),
+
+ /**
+ * Activate the account or the card
+ */
+ @XmlEnumValue("Activate")
+ @Schema(description = "Activate the account or the card")
+ ACTIVATE("Activate"),
+
+ /**
+ * Load the account or the card with money
+ */
+ @XmlEnumValue("Load")
+ @Schema(description = "Load the account or the card with money")
+ LOAD("Load"),
+
+ /**
+ * Unload the account
+ */
+ @XmlEnumValue("Unload")
+ @Schema(description = "Unload the account")
+ UNLOAD("Unload"),
+
+ /**
+ * Reverse an activation or loading.
+ */
+ @XmlEnumValue("Reverse")
+ @Schema(description = "Reverse an activation or loading.")
+ REVERSE("Reverse"),
+
+ /**
+ * Duplicate the code or number provided by the loading or activation
+ */
+ @XmlEnumValue("Duplicate")
+ @Schema(description = "Duplicate the code or number provided by the loading or activation")
+ DUPLICATE("Duplicate");
+ private final String value;
+
+ StoredValueTransactionType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value stored value transaction type.
+ *
+ * @param v the v
+ * @return the stored value transaction type
+ */
+ public static StoredValueTransactionType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/TerminalEnvironmentType.java b/src/main/java/com/adyen/model/nexo/TerminalEnvironmentType.java
new file mode 100644
index 000000000..c867987b2
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/TerminalEnvironmentType.java
@@ -0,0 +1,78 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for TerminalEnvironmentType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="TerminalEnvironmentType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Attended"/>
+ * <enumeration value="SemiAttended"/>
+ * <enumeration value="Unattended"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "TerminalEnvironmentType")
+@XmlEnum
+public enum TerminalEnvironmentType {
+
+
+ /**
+ * The Sale Terminal is managed by a Cashier through the Sale System. A Cashier Interface is provided by the POI System during the process of a request from the
+ */
+ @XmlEnumValue("Attended")
+ @Schema(description = "The Sale Terminal is managed by a Cashier through the Sale System. A Cashier Interface is provided by the POI System during the process of a request from the")
+ ATTENDED("Attended"),
+
+ /**
+ * Without a Cashier Interface. The POI Terminal is managed by the Customer through the Customer Interface. A Cashier could help the Cardholder during the
+ */
+ @XmlEnumValue("SemiAttended")
+ @Schema(description = "Without a Cashier Interface. The POI Terminal is managed by the Customer through the Customer Interface. A Cashier could help the Cardholder during the")
+ SEMI_ATTENDED("SemiAttended"),
+
+ /**
+ * The Sale Terminal is managed as a logical terminal without any Cashier Interface (typically a background process). The POI Terminal is managed by the Customer
+ */
+ @XmlEnumValue("Unattended")
+ @Schema(description = "The Sale Terminal is managed as a logical terminal without any Cashier Interface (typically a background process). The POI Terminal is managed by the Customer")
+ UNATTENDED("Unattended");
+ private final String value;
+
+ TerminalEnvironmentType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value terminal environment type.
+ *
+ * @param v the v
+ * @return the terminal environment type
+ */
+ public static TerminalEnvironmentType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/TokenRequestedType.java b/src/main/java/com/adyen/model/nexo/TokenRequestedType.java
new file mode 100644
index 000000000..99f354194
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/TokenRequestedType.java
@@ -0,0 +1,70 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for TokenRequestedType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="TokenRequestedType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Transaction"/>
+ * <enumeration value="Customer"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "TokenRequestedType")
+@XmlEnum
+public enum TokenRequestedType {
+
+
+ /**
+ * The token is generated to recognise a customer during the time of a transaction.
+ */
+ @XmlEnumValue("Transaction")
+ @Schema(description = "The token is generated to recognise a customer during the time of a transaction.")
+ TRANSACTION("Transaction"),
+
+ /**
+ * The token is generated to recognise a customer for a longer period.
+ */
+ @XmlEnumValue("Customer")
+ @Schema(description = "The token is generated to recognise a customer for a longer period.")
+ CUSTOMER("Customer");
+ private final String value;
+
+ TokenRequestedType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value token requested type.
+ *
+ * @param v the v
+ * @return the token requested type
+ */
+ public static TokenRequestedType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/TotalDetailsType.java b/src/main/java/com/adyen/model/nexo/TotalDetailsType.java
new file mode 100644
index 000000000..86e5cde4e
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/TotalDetailsType.java
@@ -0,0 +1,92 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for TotalDetailsType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="TotalDetailsType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="POIID"/>
+ * <enumeration value="SaleID"/>
+ * <enumeration value="OperatorID"/>
+ * <enumeration value="ShiftNumber"/>
+ * <enumeration value="TotalsGroupID"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "TotalDetailsType")
+@XmlEnum
+public enum TotalDetailsType {
+
+
+ /**
+ * Give the totals result per POIID value.
+ */
+ POIID("POIID"),
+
+ /**
+ * Give the totals result per SaleID value.
+ */
+ @XmlEnumValue("SaleID")
+ @Schema(description = "Give the totals result per SaleID value.")
+ SALE_ID("SaleID"),
+
+ /**
+ * Give the totals result per OperatorID value.
+ */
+ @XmlEnumValue("OperatorID")
+ @Schema(description = "Give the totals result per OperatorID value.")
+ OPERATOR_ID("OperatorID"),
+
+ /**
+ * Give the totals result per ShiftNumber value.
+ */
+ @XmlEnumValue("ShiftNumber")
+ @Schema(description = "Give the totals result per ShiftNumber value.")
+ SHIFT_NUMBER("ShiftNumber"),
+
+ /**
+ * Give the totals result per TotalsGroupID value.
+ */
+ @XmlEnumValue("TotalsGroupID")
+ @Schema(description = "Give the totals result per TotalsGroupID value.")
+ TOTALS_GROUP_ID("TotalsGroupID");
+ private final String value;
+
+ TotalDetailsType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value total details type.
+ *
+ * @param v the v
+ * @return the total details type
+ */
+ public static TotalDetailsType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/TotalFilter.java b/src/main/java/com/adyen/model/nexo/TotalFilter.java
new file mode 100644
index 000000000..a1ead7380
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/TotalFilter.java
@@ -0,0 +1,157 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Filter to compute the totals. -- Usage: 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.
+ *
+ * Java class for TotalFilter complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="TotalFilter">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="POIID" type="{}POIID" />
+ * <attribute name="SaleID" type="{}SaleID" />
+ * <attribute name="OperatorID" type="{}OperatorID" />
+ * <attribute name="ShiftNumber" type="{}ShiftNumber" />
+ * <attribute name="TotalsGroupID" type="{}TotalsGroupID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TotalFilter")
+public class TotalFilter {
+
+ /**
+ * The Poiid.
+ */
+ @XmlElement(name = "POIID")
+ @Schema(description = "Identification of a POI System or a POI Terminal for the Sale to POI protocol --Rule: If totals in the response have to be computed only for this particular value of POIID")
+ protected String poiid;
+ /**
+ * The Sale id.
+ */
+ @XmlElement(name = "SaleID")
+ @Schema(description = "Identification of a Sale System or a Sale Terminal for the Sale to POI protocol --Rule: If totals in the response have to be computed only for this particular value of SaleID")
+ protected String saleID;
+ /**
+ * The Operator id.
+ */
+ @XmlElement(name = "OperatorID")
+ @Schema(description = "Identification of the Cashier or Operator. --Rule: If totals in the response have to be computed only for this particular value of OperatorID")
+ protected String operatorID;
+ /**
+ * The Shift number.
+ */
+ @XmlElement(name = "ShiftNumber")
+ @Schema(description = "Shift number. --Rule: If totals in the response have to be computed only for this particular value of ShiftNumber")
+ protected String shiftNumber;
+ /**
+ * The Totals group id.
+ */
+ @XmlElement(name = "TotalsGroupID")
+ @Schema(description = "Identification of a group of transaction on a POI Terminal, having the same Sale features. --Rule: If totals in the response have to be computed only for this particular value of TotalsGroupID", minLength = 1, maxLength = 16)
+ protected String totalsGroupID;
+
+ /**
+ * Gets the value of the poiid property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPOIID() {
+ return poiid;
+ }
+
+ /**
+ * Sets the value of the poiid property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPOIID(String value) {
+ this.poiid = value;
+ }
+
+ /**
+ * Gets the value of the saleID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getSaleID() {
+ return saleID;
+ }
+
+ /**
+ * Sets the value of the saleID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setSaleID(String value) {
+ this.saleID = value;
+ }
+
+ /**
+ * Gets the value of the operatorID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getOperatorID() {
+ return operatorID;
+ }
+
+ /**
+ * Sets the value of the operatorID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setOperatorID(String value) {
+ this.operatorID = value;
+ }
+
+ /**
+ * Gets the value of the shiftNumber property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getShiftNumber() {
+ return shiftNumber;
+ }
+
+ /**
+ * Sets the value of the shiftNumber property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setShiftNumber(String value) {
+ this.shiftNumber = value;
+ }
+
+ /**
+ * Gets the value of the totalsGroupID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getTotalsGroupID() {
+ return totalsGroupID;
+ }
+
+ /**
+ * Sets the value of the totalsGroupID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setTotalsGroupID(String value) {
+ this.totalsGroupID = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/TrackData.java b/src/main/java/com/adyen/model/nexo/TrackData.java
new file mode 100644
index 000000000..48577b61f
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/TrackData.java
@@ -0,0 +1,112 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Magnetic track or magnetic ink characters line. -- Reference: ISO 7813 - ISO 4909 -- Usage: 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
+ *
+ * Java class for TrackData complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="TrackData">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="TrackValue" type="{}TrackValue" />
+ * <attribute name="TrackNumb" type="{}TrackNumb" default="2" />
+ * <attribute name="TrackFormat" type="{}TrackFormatType" default="ISO" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TrackData")
+public class TrackData {
+
+ @XmlElement(name = "TrackValue")
+ @Schema(description = "Card track content", minLength = 1, maxLength = 104)
+ protected String trackValue;
+ @XmlElement(name = "TrackNumb")
+ @Schema(description = "Card track number")
+ protected Integer trackNumb;
+ @XmlElement(name = "TrackFormat")
+ @Schema(description = "Card track format")
+ protected TrackFormatType trackFormat;
+
+ /**
+ * Gets the value of the trackValue property.
+ *
+ * @return possible object is
+ * {@link String }
+ */
+ public String getTrackValue() {
+ return trackValue;
+ }
+
+ /**
+ * Sets the value of the trackValue property.
+ *
+ * @param value allowed object is
+ * {@link String }
+ */
+ public void setTrackValue(String value) {
+ this.trackValue = value;
+ }
+
+ /**
+ * Gets the value of the trackNumb property.
+ *
+ * @return possible object is
+ * {@link Integer }
+ */
+ public int getTrackNumb() {
+ if (trackNumb == null) {
+ return 2;
+ } else {
+ return trackNumb;
+ }
+ }
+
+ /**
+ * Sets the value of the trackNumb property.
+ *
+ * @param value allowed object is
+ * {@link Integer }
+ */
+ public void setTrackNumb(Integer value) {
+ this.trackNumb = value;
+ }
+
+ /**
+ * Gets the value of the trackFormat property.
+ *
+ * @return possible object is
+ * {@link TrackFormatType }
+ */
+ public TrackFormatType getTrackFormat() {
+ if (trackFormat == null) {
+ return TrackFormatType.ISO;
+ } else {
+ return trackFormat;
+ }
+ }
+
+ /**
+ * Sets the value of the trackFormat property.
+ *
+ * @param value allowed object is
+ * {@link TrackFormatType }
+ */
+ public void setTrackFormat(TrackFormatType value) {
+ this.trackFormat = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/TrackFormatType.java b/src/main/java/com/adyen/model/nexo/TrackFormatType.java
new file mode 100644
index 000000000..1292dba94
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/TrackFormatType.java
@@ -0,0 +1,98 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for TrackFormatType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="TrackFormatType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="ISO"/>
+ * <enumeration value="JIS-I"/>
+ * <enumeration value="JIS-II"/>
+ * <enumeration value="AAMVA"/>
+ * <enumeration value="CMC-7"/>
+ * <enumeration value="E-13B"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "TrackFormatType")
+@XmlEnum
+public enum TrackFormatType {
+
+
+ /**
+ * ISO card track format - ISO 7813 - ISO 4909
+ */
+ ISO("ISO"),
+
+ /**
+ * Japenese track format I
+ */
+ @XmlEnumValue("JIS-I")
+ @Schema(description = "Japenese track format I")
+ JIS_I("JIS-I"),
+
+ /**
+ * Japenese track format II
+ */
+ @XmlEnumValue("JIS-II")
+ @Schema(description = "Japenese track format II")
+ JIS_II("JIS-II"),
+
+ /**
+ * American driver license
+ */
+ AAMVA("AAMVA"),
+
+ /**
+ * ((Magnetic Ink Character Recognition, using the CMC-7 font - ISO 1004) Line at the bottom of a check containing the bank account and the check number.
+ */
+ @XmlEnumValue("CMC-7")
+ @Schema(description = "((Magnetic Ink Character Recognition, using the CMC-7 font - ISO 1004) Line at the bottom of a check containing the bank account and the check number.")
+ CMC_7("CMC-7"),
+
+ /**
+ * (Magnetic Ink Character Recognition, using the E-13B font) Line at the bottom of a check containing the bank account and the check number.
+ */
+ @XmlEnumValue("E-13B")
+ @Schema(description = "(Magnetic Ink Character Recognition, using the E-13B font) Line at the bottom of a check containing the bank account and the check number.")
+ E_13_B("E-13B");
+ private final String value;
+
+ TrackFormatType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value track format type.
+ *
+ * @param v the v
+ * @return the track format type
+ */
+ public static TrackFormatType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/TransactionActionType.java b/src/main/java/com/adyen/model/nexo/TransactionActionType.java
new file mode 100644
index 000000000..00b40f042
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/TransactionActionType.java
@@ -0,0 +1,70 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for TransactionActionType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="TransactionActionType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="StartTransaction"/>
+ * <enumeration value="AbortTransaction"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "TransactionActionType")
+@XmlEnum
+public enum TransactionActionType {
+
+
+ /**
+ * Start a transaction by a swipe ahead mechanism, with the services which are enabled.
+ */
+ @XmlEnumValue("StartTransaction")
+ @Schema(description = "Start a transaction by a swipe ahead mechanism, with the services which are enabled.")
+ START_TRANSACTION("StartTransaction"),
+
+ /**
+ * Abort a transaction started either by a CardAcquisition or EnableService with TransactionAction to "StartTransaction", not followed by a service request from
+ */
+ @XmlEnumValue("AbortTransaction")
+ @Schema(description = "Abort a transaction started either by a CardAcquisition or EnableService with TransactionAction to \"StartTransaction\", not followed by a service request from")
+ ABORT_TRANSACTION("AbortTransaction");
+ private final String value;
+
+ TransactionActionType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value transaction action type.
+ *
+ * @param v the v
+ * @return the transaction action type
+ */
+ public static TransactionActionType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/TransactionConditions.java b/src/main/java/com/adyen/model/nexo/TransactionConditions.java
new file mode 100644
index 000000000..d77358808
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/TransactionConditions.java
@@ -0,0 +1,322 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Conditions on which the transaction must be processed.
+ *
+ * Java class for TransactionConditions complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="TransactionConditions">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="AllowedPaymentBrand" type="{}AllowedPaymentBrand" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="AcquirerID" type="{}AcquirerID" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="AllowedLoyaltyBrand" type="{}AllowedLoyaltyBrand" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="ForceEntryMode" type="{}ForceEntryMode" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="DebitPreferredFlag" type="{}DebitPreferredFlag" default="false" />
+ * <attribute name="LoyaltyHandling" type="{}LoyaltyHandlingType" default="Forbidden" />
+ * <attribute name="CustomerLanguage" type="{}ISOLanguage2A" />
+ * <attribute name="ForceOnlineFlag" type="{}ForceOnlineFlag" default="false" />
+ * <attribute name="MerchantCategoryCode" type="{}MerchantCategoryCode" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TransactionConditions", propOrder = {
+ "allowedPaymentBrand",
+ "acquirerID",
+ "allowedLoyaltyBrand",
+ "forceEntryMode"
+})
+public class TransactionConditions {
+
+ /**
+ * The Allowed payment brand.
+ */
+ @XmlElement(name = "AllowedPaymentBrand")
+ @Schema(description = "Card payment brands allowed by the Sale System for the payment transaction. --Rule: Restrict brand if data sent")
+ protected List allowedPaymentBrand;
+ /**
+ * The Acquirer id.
+ */
+ @XmlElement(name = "AcquirerID")
+ @Schema(description = "Identification of the Acquirer --Rule: Restrict to these Acquirer if present")
+ protected List acquirerID;
+ /**
+ * The Allowed loyalty brand.
+ */
+ @XmlElement(name = "AllowedLoyaltyBrand")
+ @Schema(description = "Loyalty brands or programs allowed by the Sale System for the loyalty transaction. --Rule: Restrict brand if data sent")
+ protected List allowedLoyaltyBrand;
+ /**
+ * The Force entry mode.
+ */
+ @XmlElement(name = "ForceEntryMode")
+ @Schema(description = "Payment instrument entry mode requested by the Sale System. --Rule: Restrict entry mode if sent")
+ protected List forceEntryMode;
+ /**
+ * The Debit preferred flag.
+ */
+ @XmlElement(name = "DebitPreferredFlag")
+ @Schema(description = "The preferred type of payment is a debit transaction rather a credit transaction. --Rule: The preferred type of payment is a debit transaction rather a credit transaction.")
+ protected Boolean debitPreferredFlag;
+ /**
+ * The Loyalty handling.
+ */
+ @XmlElement(name = "LoyaltyHandling")
+ @Schema(description = "Type of Loyalty processing requested by the Sale System.")
+ protected LoyaltyHandlingType loyaltyHandling;
+ /**
+ * The Customer language.
+ */
+ @XmlElement(name = "CustomerLanguage")
+ @Schema(description = "Language of the Customer --Rule: If the language is selected by the Sale System before the request to the POI.")
+ protected String customerLanguage;
+ /**
+ * The Force online flag.
+ */
+ @XmlElement(name = "ForceOnlineFlag")
+ @Schema(description = "Indicates if the Cashier requires POI forces online access to the Acquirer. --Rule: Go online if data sent")
+ protected Boolean forceOnlineFlag;
+ /**
+ * The Merchant category code.
+ */
+ @XmlElement(name = "MerchantCategoryCode")
+ @Schema(description = "The code which identifies the category of the transaction (MCC). --Rule: The payment implies a specific MCC.", minLength = 3, maxLength = 4)
+ protected String merchantCategoryCode;
+
+ /**
+ * Gets the value of the allowedPaymentBrand property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the allowedPaymentBrand property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getAllowedPaymentBrand().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ * @return the allowed payment brand
+ */
+ public List getAllowedPaymentBrand() {
+ if (allowedPaymentBrand == null) {
+ allowedPaymentBrand = new ArrayList<>();
+ }
+ return this.allowedPaymentBrand;
+ }
+
+ /**
+ * Gets the value of the acquirerID property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the acquirerID property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getAcquirerID().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ * @return the acquirer id
+ */
+ public List getAcquirerID() {
+ if (acquirerID == null) {
+ acquirerID = new ArrayList<>();
+ }
+ return this.acquirerID;
+ }
+
+ /**
+ * Gets the value of the allowedLoyaltyBrand property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the allowedLoyaltyBrand property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getAllowedLoyaltyBrand().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ * @return the allowed loyalty brand
+ */
+ public List getAllowedLoyaltyBrand() {
+ if (allowedLoyaltyBrand == null) {
+ allowedLoyaltyBrand = new ArrayList<>();
+ }
+ return this.allowedLoyaltyBrand;
+ }
+
+ /**
+ * Gets the value of the forceEntryMode property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the forceEntryMode property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getForceEntryMode().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link ForceEntryModeType }
+ *
+ * @return the force entry mode
+ */
+ public List getForceEntryMode() {
+ if (forceEntryMode == null) {
+ forceEntryMode = new ArrayList<>();
+ }
+ return this.forceEntryMode;
+ }
+
+ /**
+ * Gets the value of the debitPreferredFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isDebitPreferredFlag() {
+ if (debitPreferredFlag == null) {
+ return false;
+ } else {
+ return debitPreferredFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the debitPreferredFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setDebitPreferredFlag(Boolean value) {
+ this.debitPreferredFlag = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyHandling property.
+ *
+ * @return possible object is {@link LoyaltyHandlingType }
+ */
+ public LoyaltyHandlingType getLoyaltyHandling() {
+ if (loyaltyHandling == null) {
+ return LoyaltyHandlingType.FORBIDDEN;
+ } else {
+ return loyaltyHandling;
+ }
+ }
+
+ /**
+ * Sets the value of the loyaltyHandling property.
+ *
+ * @param value allowed object is {@link LoyaltyHandlingType }
+ */
+ public void setLoyaltyHandling(LoyaltyHandlingType value) {
+ this.loyaltyHandling = value;
+ }
+
+ /**
+ * Gets the value of the customerLanguage property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCustomerLanguage() {
+ return customerLanguage;
+ }
+
+ /**
+ * Sets the value of the customerLanguage property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCustomerLanguage(String value) {
+ this.customerLanguage = value;
+ }
+
+ /**
+ * Gets the value of the forceOnlineFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isForceOnlineFlag() {
+ if (forceOnlineFlag == null) {
+ return false;
+ } else {
+ return forceOnlineFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the forceOnlineFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setForceOnlineFlag(Boolean value) {
+ this.forceOnlineFlag = value;
+ }
+
+ /**
+ * Gets the value of the merchantCategoryCode property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getMerchantCategoryCode() {
+ return merchantCategoryCode;
+ }
+
+ /**
+ * Sets the value of the merchantCategoryCode property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setMerchantCategoryCode(String value) {
+ this.merchantCategoryCode = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/TransactionIdentification.java b/src/main/java/com/adyen/model/nexo/TransactionIdentification.java
new file mode 100644
index 000000000..7272de5b8
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/TransactionIdentification.java
@@ -0,0 +1,83 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * Definition: Identification of a transaction for the Sale System or the POI System.
+ *
+ * Java class for TransactionIdentification complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="TransactionIdentification">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="TransactionID" use="required" type="{}TransactionID" />
+ * <attribute name="TimeStamp" use="required" type="{}TimeStamp" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TransactionIdentification")
+public class TransactionIdentification {
+
+ /**
+ * The Transaction id.
+ */
+ @XmlElement(name = "TransactionID", required = true)
+ @Schema(description = "Unique identification of a transaction")
+ protected String transactionID;
+ /**
+ * The Time stamp.
+ */
+ @XmlElement(name = "TimeStamp", required = true)
+ @Schema(description = "Date and time of a transaction for the Sale System, the POI System or the Acquirer.")
+ protected XMLGregorianCalendar timeStamp;
+
+ /**
+ * Gets the value of the transactionID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getTransactionID() {
+ return transactionID;
+ }
+
+ /**
+ * Sets the value of the transactionID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setTransactionID(String value) {
+ this.transactionID = value;
+ }
+
+ /**
+ * Gets the value of the timeStamp property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ */
+ public XMLGregorianCalendar getTimeStamp() {
+ return timeStamp;
+ }
+
+ /**
+ * Sets the value of the timeStamp property.
+ *
+ * @param value allowed object is {@link XMLGregorianCalendar }
+ */
+ public void setTimeStamp(XMLGregorianCalendar value) {
+ this.timeStamp = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/TransactionStatusRequest.java b/src/main/java/com/adyen/model/nexo/TransactionStatusRequest.java
new file mode 100644
index 000000000..3b9ae5c69
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/TransactionStatusRequest.java
@@ -0,0 +1,131 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Content of the TransactionStatus Request messageType. -- Usage: It conveys Information requested for status of the last or current Payment, Loyalty or Reversal transaction.
+ *
+ * Java class for TransactionStatusRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="TransactionStatusRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MessageReference" type="{}MessageReference" minOccurs="0"/>
+ * <element name="DocumentQualifier" type="{}DocumentQualifierType" maxOccurs="2" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="ReceiptReprintFlag" type="{}ReceiptReprintFlag" default="false" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TransactionStatusRequest", propOrder = {
+ "messageReference",
+ "documentQualifier"
+})
+public class TransactionStatusRequest {
+
+ /**
+ * The Message reference.
+ */
+ @XmlElement(name = "MessageReference")
+ @Schema(description = "Identification of a previous POI transaction. --Rule: Present if it contains any data")
+ protected MessageReference messageReference;
+ /**
+ * The Document qualifier.
+ */
+ @XmlElement(name = "DocumentQualifier")
+ @Schema(description = "Qualification of the document to print to the Cashier or the Customer. --Rule: CustomerReceipt or CashierReceipt. Mandatory if ReceiptReprintFlag is True, otherwise absent.")
+ @XmlSchemaType(name = "string")
+ protected List documentQualifier;
+ /**
+ * The Receipt reprint flag.
+ */
+ @XmlElement(name = "ReceiptReprintFlag")
+ @Schema(description = "Request to reprint the POI receipt(s).")
+ protected Boolean receiptReprintFlag;
+
+ /**
+ * Gets the value of the messageReference property.
+ *
+ * @return possible object is {@link MessageReference }
+ */
+ public MessageReference getMessageReference() {
+ return messageReference;
+ }
+
+ /**
+ * Sets the value of the messageReference property.
+ *
+ * @param value allowed object is {@link MessageReference }
+ */
+ public void setMessageReference(MessageReference value) {
+ this.messageReference = value;
+ }
+
+ /**
+ * Gets the value of the documentQualifier property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the documentQualifier property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getDocumentQualifier().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link DocumentQualifierType }
+ *
+ * @return the document qualifier
+ */
+ public List getDocumentQualifier() {
+ if (documentQualifier == null) {
+ documentQualifier = new ArrayList<>();
+ }
+ return this.documentQualifier;
+ }
+
+ /**
+ * Gets the value of the receiptReprintFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isReceiptReprintFlag() {
+ if (receiptReprintFlag == null) {
+ return false;
+ } else {
+ return receiptReprintFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the receiptReprintFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setReceiptReprintFlag(Boolean value) {
+ this.receiptReprintFlag = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/TransactionStatusResponse.java b/src/main/java/com/adyen/model/nexo/TransactionStatusResponse.java
new file mode 100644
index 000000000..af848d8b2
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/TransactionStatusResponse.java
@@ -0,0 +1,113 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the TransactionStatus Response messageType. -- Usage: It conveys Information related to the status of the last or current Payment, Loyalty or Reversal transaction.
+ *
+ * Java class for TransactionStatusResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="TransactionStatusResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * <element name="MessageReference" type="{}MessageReference" minOccurs="0"/>
+ * <element name="RepeatedMessageResponse" type="{}RepeatedMessageResponse" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TransactionStatusResponse", propOrder = {
+ "response",
+ "messageReference",
+ "repeatedMessageResponse"
+})
+public class TransactionStatusResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Message reference.
+ */
+ @XmlElement(name = "MessageReference")
+ @Schema(description = "Identification of a previous POI transaction. --Rule: if Response.Result is Success")
+ protected MessageReference messageReference;
+ /**
+ * The Repeated message response.
+ */
+ @XmlElement(name = "RepeatedMessageResponse")
+ @Schema(description = "Content of the requested Message Response. --Rule: If Result is Success (process completed)")
+ protected RepeatedMessageResponse repeatedMessageResponse;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the messageReference property.
+ *
+ * @return possible object is {@link MessageReference }
+ */
+ public MessageReference getMessageReference() {
+ return messageReference;
+ }
+
+ /**
+ * Sets the value of the messageReference property.
+ *
+ * @param value allowed object is {@link MessageReference }
+ */
+ public void setMessageReference(MessageReference value) {
+ this.messageReference = value;
+ }
+
+ /**
+ * Gets the value of the repeatedMessageResponse property.
+ *
+ * @return possible object is {@link RepeatedMessageResponse }
+ */
+ public RepeatedMessageResponse getRepeatedMessageResponse() {
+ return repeatedMessageResponse;
+ }
+
+ /**
+ * Sets the value of the repeatedMessageResponse property.
+ *
+ * @param value allowed object is {@link RepeatedMessageResponse }
+ */
+ public void setRepeatedMessageResponse(RepeatedMessageResponse value) {
+ this.repeatedMessageResponse = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/TransactionToPerform.java b/src/main/java/com/adyen/model/nexo/TransactionToPerform.java
new file mode 100644
index 000000000..f713fca36
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/TransactionToPerform.java
@@ -0,0 +1,113 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Data related to the batch of transactions to perform.
+ *
+ * Java class for TransactionToPerform complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="TransactionToPerform">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <choice>
+ * <element name="PaymentRequest" type="{}PaymentRequest" minOccurs="0"/>
+ * <element name="LoyaltyRequest" type="{}LoyaltyRequest" minOccurs="0"/>
+ * <element name="ReversalRequest" type="{}ReversalRequest" minOccurs="0"/>
+ * </choice>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TransactionToPerform", propOrder = {
+ "paymentRequest",
+ "loyaltyRequest",
+ "reversalRequest"
+})
+public class TransactionToPerform {
+
+ /**
+ * The Payment request.
+ */
+ @XmlElement(name = "PaymentRequest")
+ @Schema(description = "Data related to the Payment transaction request.")
+ protected PaymentRequest paymentRequest;
+ /**
+ * The Loyalty request.
+ */
+ @XmlElement(name = "LoyaltyRequest")
+ @Schema(description = "Data related to the Loyalty transaction request.")
+ protected LoyaltyRequest loyaltyRequest;
+ /**
+ * The Reversal request.
+ */
+ @XmlElement(name = "ReversalRequest")
+ @Schema(description = "Data related to the Reveraal transaction request.")
+ protected ReversalRequest reversalRequest;
+
+ /**
+ * Gets the value of the paymentRequest property.
+ *
+ * @return possible object is {@link PaymentRequest }
+ */
+ public PaymentRequest getPaymentRequest() {
+ return paymentRequest;
+ }
+
+ /**
+ * Sets the value of the paymentRequest property.
+ *
+ * @param value allowed object is {@link PaymentRequest }
+ */
+ public void setPaymentRequest(PaymentRequest value) {
+ this.paymentRequest = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyRequest property.
+ *
+ * @return possible object is {@link LoyaltyRequest }
+ */
+ public LoyaltyRequest getLoyaltyRequest() {
+ return loyaltyRequest;
+ }
+
+ /**
+ * Sets the value of the loyaltyRequest property.
+ *
+ * @param value allowed object is {@link LoyaltyRequest }
+ */
+ public void setLoyaltyRequest(LoyaltyRequest value) {
+ this.loyaltyRequest = value;
+ }
+
+ /**
+ * Gets the value of the reversalRequest property.
+ *
+ * @return possible object is {@link ReversalRequest }
+ */
+ public ReversalRequest getReversalRequest() {
+ return reversalRequest;
+ }
+
+ /**
+ * Sets the value of the reversalRequest property.
+ *
+ * @param value allowed object is {@link ReversalRequest }
+ */
+ public void setReversalRequest(ReversalRequest value) {
+ this.reversalRequest = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/TransactionTotals.java b/src/main/java/com/adyen/model/nexo/TransactionTotals.java
new file mode 100644
index 000000000..e67e313d3
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/TransactionTotals.java
@@ -0,0 +1,440 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Definition: Result of the Sale to POI Reconciliation processing. -- Usage: If Result is Success, contains all the totals, classified as required by the Sale in the messageType request. At least, transaction totals are provided per Acquirer, Acquirer Settlement, and Card Brand.
+ *
+ * Java class for TransactionTotals complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="TransactionTotals">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="PaymentTotals" type="{}PaymentTotals" maxOccurs="10" minOccurs="0"/>
+ * <element name="LoyaltyTotals" type="{}LoyaltyTotals" maxOccurs="6" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="PaymentInstrument" use="required" type="{}PaymentInstrumentType" />
+ * <attribute name="AcquirerID" type="{}AcquirerID" />
+ * <attribute name="ErrorCondition" type="{}ErrorConditionType" />
+ * <attribute name="HostReconciliationID" type="{}HostReconciliationID" />
+ * <attribute name="CardBrand" type="{}CardBrand" />
+ * <attribute name="POIID" type="{}POIID" />
+ * <attribute name="SaleID" type="{}SaleID" />
+ * <attribute name="OperatorID" type="{}OperatorID" />
+ * <attribute name="ShiftNumber" type="{}ShiftNumber" />
+ * <attribute name="TotalsGroupID" type="{}TotalsGroupID" />
+ * <attribute name="PaymentCurrency" type="{}ISOCurrency3A" />
+ * <attribute name="LoyaltyUnit" type="{}LoyaltyUnitType" default="Point" />
+ * <attribute name="LoyaltyCurrency" type="{}ISOCurrency3A" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TransactionTotals", propOrder = {
+ "paymentTotals",
+ "loyaltyTotals"
+})
+public class TransactionTotals {
+
+ /**
+ * The Payment totals.
+ */
+ @XmlElement(name = "PaymentTotals")
+ @Schema(description = "Totals of the payment transaction during the reconciliation period. --Rule: If both TransactionCount and TransactionAmount are not equal to zero")
+ protected List paymentTotals;
+ /**
+ * The Loyalty totals.
+ */
+ @XmlElement(name = "LoyaltyTotals")
+ @Schema(description = "Totals of the loyalty transaction during the reconciliation period. --Rule: If both TransactionCount and TransactionAmount are not equal to zero")
+ protected List loyaltyTotals;
+ /**
+ * The Payment instrument.
+ */
+ @XmlElement(name = "PaymentInstrumentType", required = true)
+ @Schema(description = "Type of payment instrument.")
+ protected PaymentInstrumentType paymentInstrumentType;
+ /**
+ * The Acquirer id.
+ */
+ @XmlElement(name = "AcquirerID")
+ @Schema(description = "Identification of the Acquirer --Rule: If available")
+ protected String acquirerID;
+ /**
+ * The Error condition.
+ */
+ @XmlElement(name = "ErrorCondition")
+ @Schema(description = "Condition that has produced an error on the processing of a message request --Rule: if Response.Result is Partial, and the reconciliation with this Acquirer failed.")
+ protected ErrorConditionType errorCondition;
+ /**
+ * The Host reconciliation id.
+ */
+ @XmlElement(name = "HostReconciliationID")
+ @Schema(description = "Identifier of a reconciliation period with a payment or loyalty host. --Rule: If available")
+ protected String hostReconciliationID;
+ /**
+ * The Card brand.
+ */
+ @XmlElement(name = "CardBrand")
+ @Schema(description = "Type of payment or loyalty card --Rule: If configured to present totals per card brand, and Response.Result is Success")
+ protected String cardBrand;
+ /**
+ * The Poiid.
+ */
+ @XmlElement(name = "POIID")
+ @Schema(description = "Identification of a POI System or a POI Terminal for the Sale to POI protocol --Rule: If requested in the message request")
+ protected String poiid;
+ /**
+ * The Sale id.
+ */
+ @XmlElement(name = "SaleID")
+ @Schema(description = "Identification of a Sale System or a Sale Terminal for the Sale to POI protocol --Rule: If requested in the message request")
+ protected String saleID;
+ /**
+ * The Operator id.
+ */
+ @XmlElement(name = "OperatorID")
+ @Schema(description = "Identification of the Cashier or Operator. --Rule: If requested in the message request")
+ protected String operatorID;
+ /**
+ * The Shift number.
+ */
+ @XmlElement(name = "ShiftNumber")
+ @Schema(description = "Shift number. --Rule: If requested in the message request")
+ protected String shiftNumber;
+ /**
+ * The Totals group id.
+ */
+ @XmlElement(name = "TotalsGroupID")
+ @Schema(description = "Identification of a group of transaction on a POI Terminal, having the same Sale features. --Rule: If requested in the message request")
+ protected String totalsGroupID;
+ /**
+ * The Payment currency.
+ */
+ @XmlElement(name = "PaymentCurrency")
+ @Schema(description = "Currency of a monetary amount.")
+ protected String paymentCurrency;
+ /**
+ * The Loyalty unit.
+ */
+ @XmlElement(name = "LoyaltyUnit")
+ @Schema(description = "Unit of a loyalty amount.")
+ protected LoyaltyUnitType loyaltyUnit;
+ /**
+ * The Loyalty currency.
+ */
+ @XmlElement(name = "LoyaltyCurrency")
+ @Schema(description = "Currency of a monetary amount. --Rule: If LoyaltyUnit is Monetary")
+ protected String loyaltyCurrency;
+
+ /**
+ * Gets the value of the paymentTotals property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the paymentTotals property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getPaymentTotals().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link PaymentTotals }
+ *
+ * @return the payment totals
+ */
+ public List getPaymentTotals() {
+ if (paymentTotals == null) {
+ paymentTotals = new ArrayList<>();
+ }
+ return this.paymentTotals;
+ }
+
+ /**
+ * Gets the value of the loyaltyTotals property.
+ *
+ *
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a set
method for the loyaltyTotals property.
+ *
+ *
+ * For example, to add a new item, do as follows:
+ *
+ * getLoyaltyTotals().add(newItem);
+ *
+ *
+ *
+ *
+ * Objects of the following type(s) are allowed in the list
+ * {@link LoyaltyTotals }
+ *
+ * @return the loyalty totals
+ */
+ public List getLoyaltyTotals() {
+ if (loyaltyTotals == null) {
+ loyaltyTotals = new ArrayList<>();
+ }
+ return this.loyaltyTotals;
+ }
+
+ /**
+ * Gets the value of the paymentInstrumentType property.
+ *
+ * @return possible object is {@link PaymentInstrumentType }
+ */
+ public PaymentInstrumentType getPaymentInstrumentType() {
+ return paymentInstrumentType;
+ }
+
+ /**
+ * Sets the value of the paymentInstrumentType property.
+ *
+ * @param value allowed object is {@link PaymentInstrumentType }
+ */
+ public void setPaymentInstrumentType(PaymentInstrumentType value) {
+ this.paymentInstrumentType = value;
+ }
+
+ /**
+ * Gets the value of the acquirerID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getAcquirerID() {
+ return acquirerID;
+ }
+
+ /**
+ * Sets the value of the acquirerID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setAcquirerID(String value) {
+ this.acquirerID = value;
+ }
+
+ /**
+ * Gets the value of the errorCondition property.
+ *
+ * @return possible object is {@link ErrorConditionType }
+ */
+ public ErrorConditionType getErrorCondition() {
+ return errorCondition;
+ }
+
+ /**
+ * Sets the value of the errorCondition property.
+ *
+ * @param value allowed object is {@link ErrorConditionType }
+ */
+ public void setErrorCondition(ErrorConditionType value) {
+ this.errorCondition = value;
+ }
+
+ /**
+ * Gets the value of the hostReconciliationID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getHostReconciliationID() {
+ return hostReconciliationID;
+ }
+
+ /**
+ * Sets the value of the hostReconciliationID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setHostReconciliationID(String value) {
+ this.hostReconciliationID = value;
+ }
+
+ /**
+ * Gets the value of the cardBrand property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getCardBrand() {
+ return cardBrand;
+ }
+
+ /**
+ * Sets the value of the cardBrand property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setCardBrand(String value) {
+ this.cardBrand = value;
+ }
+
+ /**
+ * Gets the value of the poiid property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPOIID() {
+ return poiid;
+ }
+
+ /**
+ * Sets the value of the poiid property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPOIID(String value) {
+ this.poiid = value;
+ }
+
+ /**
+ * Gets the value of the saleID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getSaleID() {
+ return saleID;
+ }
+
+ /**
+ * Sets the value of the saleID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setSaleID(String value) {
+ this.saleID = value;
+ }
+
+ /**
+ * Gets the value of the operatorID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getOperatorID() {
+ return operatorID;
+ }
+
+ /**
+ * Sets the value of the operatorID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setOperatorID(String value) {
+ this.operatorID = value;
+ }
+
+ /**
+ * Gets the value of the shiftNumber property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getShiftNumber() {
+ return shiftNumber;
+ }
+
+ /**
+ * Sets the value of the shiftNumber property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setShiftNumber(String value) {
+ this.shiftNumber = value;
+ }
+
+ /**
+ * Gets the value of the totalsGroupID property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getTotalsGroupID() {
+ return totalsGroupID;
+ }
+
+ /**
+ * Sets the value of the totalsGroupID property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setTotalsGroupID(String value) {
+ this.totalsGroupID = value;
+ }
+
+ /**
+ * Gets the value of the paymentCurrency property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getPaymentCurrency() {
+ return paymentCurrency;
+ }
+
+ /**
+ * Sets the value of the paymentCurrency property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setPaymentCurrency(String value) {
+ this.paymentCurrency = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyUnit property.
+ *
+ * @return possible object is {@link LoyaltyUnitType }
+ */
+ public LoyaltyUnitType getLoyaltyUnit() {
+ if (loyaltyUnit == null) {
+ return LoyaltyUnitType.POINT;
+ } else {
+ return loyaltyUnit;
+ }
+ }
+
+ /**
+ * Sets the value of the loyaltyUnit property.
+ *
+ * @param value allowed object is {@link LoyaltyUnitType }
+ */
+ public void setLoyaltyUnit(LoyaltyUnitType value) {
+ this.loyaltyUnit = value;
+ }
+
+ /**
+ * Gets the value of the loyaltyCurrency property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getLoyaltyCurrency() {
+ return loyaltyCurrency;
+ }
+
+ /**
+ * Sets the value of the loyaltyCurrency property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setLoyaltyCurrency(String value) {
+ this.loyaltyCurrency = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/TransactionType.java b/src/main/java/com/adyen/model/nexo/TransactionType.java
new file mode 100644
index 000000000..373d12105
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/TransactionType.java
@@ -0,0 +1,206 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for TransactionType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="TransactionType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Debit"/>
+ * <enumeration value="Credit"/>
+ * <enumeration value="ReverseDebit"/>
+ * <enumeration value="ReverseCredit"/>
+ * <enumeration value="OneTimeReservation"/>
+ * <enumeration value="CompletedDeffered"/>
+ * <enumeration value="FirstReservation"/>
+ * <enumeration value="UpdateReservation"/>
+ * <enumeration value="CompletedReservation"/>
+ * <enumeration value="CashAdvance"/>
+ * <enumeration value="IssuerInstalment"/>
+ * <enumeration value="Declined"/>
+ * <enumeration value="Failed"/>
+ * <enumeration value="Award"/>
+ * <enumeration value="ReverseAward"/>
+ * <enumeration value="Redemption"/>
+ * <enumeration value="ReverseRedemption"/>
+ * <enumeration value="Rebate"/>
+ * <enumeration value="ReverseRebate"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "TransactionType")
+@XmlEnum
+public enum TransactionType {
+
+
+ /**
+ * Payment Debit transactions (e.g. if PaymentType is "Normal")
+ */
+ @XmlEnumValue("Debit")
+ @Schema(description = "Payment Debit transactions (e.g. if PaymentType is \"Normal\")")
+ DEBIT("Debit"),
+
+ /**
+ * Payment Credit transactions (e.g. if PaymentType is "Refund")
+ */
+ @XmlEnumValue("Credit")
+ @Schema(description = "Payment Credit transactions (e.g. if PaymentType is \"Refund\")")
+ CREDIT("Credit"),
+
+ /**
+ * Payment Reversal Debit transactions
+ */
+ @XmlEnumValue("ReverseDebit")
+ @Schema(description = "Payment Reversal Debit transactions")
+ REVERSE_DEBIT("ReverseDebit"),
+
+ /**
+ * Payment Reversal Credit transactions
+ */
+ @XmlEnumValue("ReverseCredit")
+ @Schema(description = "Payment Reversal Credit transactions")
+ REVERSE_CREDIT("ReverseCredit"),
+
+ /**
+ * Outstanding OneTimeReservation transactions, i.e. between OneTimeReservation and Completion
+ */
+ @XmlEnumValue("OneTimeReservation")
+ @Schema(description = "Outstanding OneTimeReservation transactions, i.e. between OneTimeReservation and Completion")
+ ONE_TIME_RESERVATION("OneTimeReservation"),
+
+ /**
+ * OneTimeReservation transactions which have been completed by the Completion.
+ */
+ @XmlEnumValue("CompletedDeffered")
+ @Schema(description = "OneTimeReservation transactions which have been completed by the Completion.")
+ COMPLETED_DEFFERED("CompletedDeffered"),
+
+ /**
+ * Outstanding FirstReservation transactions, i.e. between FirstReservation and UpdateReservation or Completion
+ */
+ @XmlEnumValue("FirstReservation")
+ @Schema(description = "Outstanding FirstReservation transactions, i.e. between FirstReservation and UpdateReservation or Completion")
+ FIRST_RESERVATION("FirstReservation"),
+
+ /**
+ * Outstanding UpdateReservation transactions, i.e. between UpdateReservation and UpdateReservation or Completion
+ */
+ @XmlEnumValue("UpdateReservation")
+ @Schema(description = "Outstanding UpdateReservation transactions, i.e. between UpdateReservation and UpdateReservation or Completion")
+ UPDATE_RESERVATION("UpdateReservation"),
+
+ /**
+ * Reservation transactions which have been completed by the Completion.
+ */
+ @XmlEnumValue("CompletedReservation")
+ @Schema(description = "Reservation transactions which have been completed by the Completion.")
+ COMPLETED_RESERVATION("CompletedReservation"),
+
+ /**
+ * Cash Advance transactions.
+ */
+ @XmlEnumValue("CashAdvance")
+ @Schema(description = "Cash Advance transactions.")
+ CASH_ADVANCE("CashAdvance"),
+
+ /**
+ * Issuer instalment transactions.
+ */
+ @XmlEnumValue("IssuerInstalment")
+ @Schema(description = "Issuer instalment transactions.")
+ ISSUER_INSTALMENT("IssuerInstalment"),
+
+ /**
+ * ResultErrorCondition
+ */
+ @XmlEnumValue("Declined")
+ @Schema(description = "ResultErrorCondition")
+ DECLINED("Declined"),
+
+ /**
+ * ResultErrorCondition
+ */
+ @XmlEnumValue("Failed")
+ @Schema(description = "ResultErrorCondition")
+ FAILED("Failed"),
+
+ /**
+ * Loyalty Award Transaction
+ */
+ @XmlEnumValue("Award")
+ @Schema(description = "Loyalty Award Transaction")
+ AWARD("Award"),
+
+ /**
+ * Loyalty Reversal Award Transaction
+ */
+ @XmlEnumValue("ReverseAward")
+ @Schema(description = "Loyalty Reversal Award Transaction")
+ REVERSE_AWARD("ReverseAward"),
+
+ /**
+ * Loyalty Redemption Transaction
+ */
+ @XmlEnumValue("Redemption")
+ @Schema(description = "Loyalty Redemption Transaction")
+ REDEMPTION("Redemption"),
+
+ /**
+ * Loyalty Reversal Redemption Transaction
+ */
+ @XmlEnumValue("ReverseRedemption")
+ @Schema(description = "Loyalty Reversal Redemption Transaction")
+ REVERSE_REDEMPTION("ReverseRedemption"),
+
+ /**
+ * Loyalty Rebate Transaction
+ */
+ @XmlEnumValue("Rebate")
+ @Schema(description = "Loyalty Rebate Transaction")
+ REBATE("Rebate"),
+
+ /**
+ * Loyalty Reversal Rebate Transaction
+ */
+ @XmlEnumValue("ReverseRebate")
+ @Schema(description = "Loyalty Reversal Rebate Transaction")
+ REVERSE_REBATE("ReverseRebate");
+ private final String value;
+
+ TransactionType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value transaction type.
+ *
+ * @param v the v
+ * @return the transaction type
+ */
+ public static TransactionType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/TransmitRequest.java b/src/main/java/com/adyen/model/nexo/TransmitRequest.java
new file mode 100644
index 000000000..488fbf7a7
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/TransmitRequest.java
@@ -0,0 +1,141 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigInteger;
+
+
+/**
+ * Definition: Content of the Transmit Request messageType. -- Usage: It contains a messageType to transmit.
+ *
+ * Java class for TransmitRequest complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="TransmitRequest">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Message" type="{}Message"/>
+ * </sequence>
+ * <attribute name="WaitResponseFlag" type="{}WaitResponseFlag" default="false" />
+ * <attribute name="MaximumTransmitTime" use="required" type="{}MaximumTransmitTime" />
+ * <attribute name="DestinationAddress" use="required" type="{}DestinationAddress" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TransmitRequest", propOrder = {
+ "message"
+})
+public class TransmitRequest {
+
+ /**
+ * The Message.
+ */
+ @XmlElement(name = "Message", required = true)
+ @Schema(description = "Content of a transmitted message.")
+ protected byte[] message;
+ /**
+ * The Wait response flag.
+ */
+ @XmlElement(name = "WaitResponseFlag")
+ @Schema(description = "Indicates that a response message has to be received.")
+ protected Boolean waitResponseFlag;
+ /**
+ * The Maximum transmit time.
+ */
+ @XmlElement(name = "MaximumTransmitTime", required = true)
+ @Schema(description = "Maximum time in seconds of transmission.")
+ protected BigInteger maximumTransmitTime;
+ /**
+ * The Destination address.
+ */
+ @XmlElement(name = "DestinationAddress", required = true)
+ @Schema(description = "Transport address containing the IP address or the DNS (Domain Name Server) address, followed by the character ':' and")
+ protected String destinationAddress;
+
+ /**
+ * Gets the value of the messageType property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getMessage() {
+ return message;
+ }
+
+ /**
+ * Sets the value of the messageType property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setMessage(byte[] value) {
+ this.message = value;
+ }
+
+ /**
+ * Gets the value of the waitResponseFlag property.
+ *
+ * @return possible object is {@link Boolean }
+ */
+ public boolean isWaitResponseFlag() {
+ if (waitResponseFlag == null) {
+ return false;
+ } else {
+ return waitResponseFlag;
+ }
+ }
+
+ /**
+ * Sets the value of the waitResponseFlag property.
+ *
+ * @param value allowed object is {@link Boolean }
+ */
+ public void setWaitResponseFlag(Boolean value) {
+ this.waitResponseFlag = value;
+ }
+
+ /**
+ * Gets the value of the maximumTransmitTime property.
+ *
+ * @return possible object is {@link BigInteger }
+ */
+ public BigInteger getMaximumTransmitTime() {
+ return maximumTransmitTime;
+ }
+
+ /**
+ * Sets the value of the maximumTransmitTime property.
+ *
+ * @param value allowed object is {@link BigInteger }
+ */
+ public void setMaximumTransmitTime(BigInteger value) {
+ this.maximumTransmitTime = value;
+ }
+
+ /**
+ * Gets the value of the destinationAddress property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getDestinationAddress() {
+ return destinationAddress;
+ }
+
+ /**
+ * Sets the value of the destinationAddress property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setDestinationAddress(String value) {
+ this.destinationAddress = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/TransmitResponse.java b/src/main/java/com/adyen/model/nexo/TransmitResponse.java
new file mode 100644
index 000000000..449e1f2d8
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/TransmitResponse.java
@@ -0,0 +1,87 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Content of the Transmit Response messageType. -- Usage: It conveys the response of the transmission.
+ *
+ * Java class for TransmitResponse complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="TransmitResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Response" type="{}Response"/>
+ * <element name="Message" type="{}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TransmitResponse", propOrder = {
+ "response",
+ "message"
+})
+public class TransmitResponse {
+
+ /**
+ * The Response.
+ */
+ @XmlElement(name = "Response", required = true)
+ @Schema(description = "Result of a message request processing.")
+ protected Response response;
+ /**
+ * The Message.
+ */
+ @XmlElement(name = "Message")
+ @Schema(description = "Content of a transmitted message.")
+ protected byte[] message;
+
+ /**
+ * Gets the value of the response property.
+ *
+ * @return possible object is {@link Response }
+ */
+ public Response getResponse() {
+ return response;
+ }
+
+ /**
+ * Sets the value of the response property.
+ *
+ * @param value allowed object is {@link Response }
+ */
+ public void setResponse(Response value) {
+ this.response = value;
+ }
+
+ /**
+ * Gets the value of the messageType property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getMessage() {
+ return message;
+ }
+
+ /**
+ * Sets the value of the messageType property.
+ *
+ * @param value allowed object is byte[]
+ */
+ public void setMessage(byte[] value) {
+ this.message = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/UTMCoordinates.java b/src/main/java/com/adyen/model/nexo/UTMCoordinates.java
new file mode 100644
index 000000000..0b43fc046
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/UTMCoordinates.java
@@ -0,0 +1,113 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Definition: Location on the Earth specified by the Universal Transverse Mercator coordinate system. -- Usage: Identifies the geographic location of a mobile phone by GPS using the WGS84 ellipsoid spatial reference system.
+ *
+ * Java class for UTMCoordinates complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="UTMCoordinates">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="UTMZone" type="{}UTMZone"/>
+ * <element name="UTMEastward" type="{}UTMEastward"/>
+ * <element name="UTMNorthward" type="{}UTMNorthward"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "UTMCoordinates", propOrder = {
+ "utmZone",
+ "utmEastward",
+ "utmNorthward"
+})
+public class UTMCoordinates {
+
+ /**
+ * The Utm zone.
+ */
+ @XmlElement(name = "UTMZone", required = true)
+ @Schema(description = "UTM grid zone combination of the longitude zone (1 to 60) and the latitude band (C to X, excluding I and O).")
+ protected String utmZone;
+ /**
+ * The Utm eastward.
+ */
+ @XmlElement(name = "UTMEastward", required = true)
+ @Schema(description = "X-coordinate of the Universal Transverse Mercator coordinate system.")
+ protected String utmEastward;
+ /**
+ * The Utm northward.
+ */
+ @XmlElement(name = "UTMNorthward", required = true)
+ @Schema(description = "Y-coordinate of the Universal Transverse Mercator coordinate system.")
+ protected String utmNorthward;
+
+ /**
+ * Gets the value of the utmZone property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getUTMZone() {
+ return utmZone;
+ }
+
+ /**
+ * Sets the value of the utmZone property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setUTMZone(String value) {
+ this.utmZone = value;
+ }
+
+ /**
+ * Gets the value of the utmEastward property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getUTMEastward() {
+ return utmEastward;
+ }
+
+ /**
+ * Sets the value of the utmEastward property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setUTMEastward(String value) {
+ this.utmEastward = value;
+ }
+
+ /**
+ * Gets the value of the utmNorthward property.
+ *
+ * @return possible object is {@link String }
+ */
+ public String getUTMNorthward() {
+ return utmNorthward;
+ }
+
+ /**
+ * Sets the value of the utmNorthward property.
+ *
+ * @param value allowed object is {@link String }
+ */
+ public void setUTMNorthward(String value) {
+ this.utmNorthward = value;
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/UnitOfMeasureType.java b/src/main/java/com/adyen/model/nexo/UnitOfMeasureType.java
new file mode 100644
index 000000000..0b56250c0
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/UnitOfMeasureType.java
@@ -0,0 +1,206 @@
+package com.adyen.model.nexo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for UnitOfMeasureType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="UnitOfMeasureType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Case"/>
+ * <enumeration value="Foot"/>
+ * <enumeration value="UKGallon"/>
+ * <enumeration value="USGallon"/>
+ * <enumeration value="Gram"/>
+ * <enumeration value="Inch"/>
+ * <enumeration value="Kilogram"/>
+ * <enumeration value="Pound"/>
+ * <enumeration value="Meter"/>
+ * <enumeration value="Centimetre"/>
+ * <enumeration value="Litre"/>
+ * <enumeration value="Centilitre"/>
+ * <enumeration value="Ounce"/>
+ * <enumeration value="Quart"/>
+ * <enumeration value="Pint"/>
+ * <enumeration value="Mile"/>
+ * <enumeration value="Kilometre"/>
+ * <enumeration value="Yard"/>
+ * <enumeration value="Other"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "UnitOfMeasureType")
+@XmlEnum
+public enum UnitOfMeasureType {
+
+
+ /**
+ * Case or Carton
+ */
+ @XmlEnumValue("Case")
+ @Schema(description = "Case or Carton")
+ CASE("Case"),
+
+ /**
+ * Foot
+ */
+ @XmlEnumValue("Foot")
+ @Schema(description = "Foot")
+ FOOT("Foot"),
+
+ /**
+ * Gallon (UK)
+ */
+ @XmlEnumValue("UKGallon")
+ @Schema(description = "Gallon (UK)")
+ UK_GALLON("UKGallon"),
+
+ /**
+ * Gallon (US)
+ */
+ @XmlEnumValue("USGallon")
+ @Schema(description = "Gallon (US)")
+ US_GALLON("USGallon"),
+
+ /**
+ * Gram
+ */
+ @XmlEnumValue("Gram")
+ @Schema(description = "Gram")
+ GRAM("Gram"),
+
+ /**
+ * Inch
+ */
+ @XmlEnumValue("Inch")
+ @Schema(description = "Inch")
+ INCH("Inch"),
+
+ /**
+ * Kilogram
+ */
+ @XmlEnumValue("Kilogram")
+ @Schema(description = "Kilogram")
+ KILOGRAM("Kilogram"),
+
+ /**
+ * Pound
+ */
+ @XmlEnumValue("Pound")
+ @Schema(description = "Pound")
+ POUND("Pound"),
+
+ /**
+ * Meter
+ */
+ @XmlEnumValue("Meter")
+ @Schema(description = "Meter")
+ METER("Meter"),
+
+ /**
+ * Centimetre
+ */
+ @XmlEnumValue("Centimetre")
+ @Schema(description = "Centimetre")
+ CENTIMETRE("Centimetre"),
+
+ /**
+ * Litre
+ */
+ @XmlEnumValue("Litre")
+ @Schema(description = "Litre")
+ LITRE("Litre"),
+
+ /**
+ * Centilitre
+ */
+ @XmlEnumValue("Centilitre")
+ @Schema(description = "Centilitre")
+ CENTILITRE("Centilitre"),
+
+ /**
+ * Ounce
+ */
+ @XmlEnumValue("Ounce")
+ @Schema(description = "Ounce")
+ OUNCE("Ounce"),
+
+ /**
+ * Quart
+ */
+ @XmlEnumValue("Quart")
+ @Schema(description = "Quart")
+ QUART("Quart"),
+
+ /**
+ * Pint
+ */
+ @XmlEnumValue("Pint")
+ @Schema(description = "Pint")
+ PINT("Pint"),
+
+ /**
+ * Mile
+ */
+ @XmlEnumValue("Mile")
+ @Schema(description = "Mile")
+ MILE("Mile"),
+
+ /**
+ * Kilometre
+ */
+ @XmlEnumValue("Kilometre")
+ @Schema(description = "Kilometre")
+ KILOMETRE("Kilometre"),
+
+ /**
+ * Yard
+ */
+ @XmlEnumValue("Yard")
+ @Schema(description = "Yard")
+ YARD("Yard"),
+
+ /**
+ * Other unit than the previous one
+ */
+ @XmlEnumValue("Other")
+ @Schema(description = "Other unit than the previous one")
+ OTHER("Other");
+ private final String value;
+
+ UnitOfMeasureType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value unit of measure type.
+ *
+ * @param v the v
+ * @return the unit of measure type
+ */
+ public static UnitOfMeasureType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/nexo/VersionType.java b/src/main/java/com/adyen/model/nexo/VersionType.java
new file mode 100644
index 000000000..cec569556
--- /dev/null
+++ b/src/main/java/com/adyen/model/nexo/VersionType.java
@@ -0,0 +1,94 @@
+package com.adyen.model.nexo;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+import java.util.Arrays;
+
+
+/**
+ * Java class for VersionType.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <simpleType name="VersionType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="v0"/>
+ * <enumeration value="v1"/>
+ * <enumeration value="v2"/>
+ * <enumeration value="v3"/>
+ * <enumeration value="v4"/>
+ * <enumeration value="v5"/>
+ * </restriction>
+ * </simpleType>
+ *
+ */
+@XmlType(name = "VersionType")
+@XmlEnum
+public enum VersionType {
+
+
+ /**
+ * Version 0
+ */
+ @XmlEnumValue("v0")
+ V_0("v0"),
+
+ /**
+ * Version 1
+ */
+ @XmlEnumValue("v1")
+ V_1("v1"),
+
+ /**
+ * Version 2
+ */
+ @XmlEnumValue("v2")
+ V_2("v2"),
+
+ /**
+ * Version 3
+ */
+ @XmlEnumValue("v3")
+ V_3("v3"),
+
+ /**
+ * Version 4
+ */
+ @XmlEnumValue("v4")
+ V_4("v4"),
+
+ /**
+ * Version 5
+ */
+ @XmlEnumValue("v5")
+ V_5("v5");
+ private final String value;
+
+ VersionType(String v) {
+ value = v;
+ }
+
+ /**
+ * Value string.
+ *
+ * @return the string
+ */
+ public String value() {
+ return value;
+ }
+
+ /**
+ * From value version type.
+ *
+ * @param v the v
+ * @return the version type
+ */
+ public static VersionType fromValue(String v) {
+ return Arrays.stream(values()).
+ filter(s -> s.value.equals(v)).
+ findFirst().orElseThrow(() -> new IllegalArgumentException(v));
+ }
+
+}
diff --git a/src/main/java/com/adyen/model/terminal/AbortRequest.java b/src/main/java/com/adyen/model/terminal/AbortRequest.java
deleted file mode 100644
index 0c9140b1f..000000000
--- a/src/main/java/com/adyen/model/terminal/AbortRequest.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Adyen Terminal API
- *
- * The version of the OpenAPI document: 1
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package com.adyen.model.terminal;
-
-import java.util.Objects;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.HashMap;
-import com.adyen.model.terminal.DisplayOutput;
-import com.adyen.model.terminal.MessageReference;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.annotation.JsonValue;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
-
-/**
- * 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.
- */
-@ApiModel(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.")
-@JsonPropertyOrder({
- AbortRequest.JSON_PROPERTY_MESSAGE_REFERENCE,
- AbortRequest.JSON_PROPERTY_ABORT_REASON,
- AbortRequest.JSON_PROPERTY_DISPLAY_OUTPUT
-})
-
-public class AbortRequest {
- public static final String JSON_PROPERTY_MESSAGE_REFERENCE = "MessageReference";
- private MessageReference messageReference;
-
- public static final String JSON_PROPERTY_ABORT_REASON = "AbortReason";
- private String abortReason;
-
- public static final String JSON_PROPERTY_DISPLAY_OUTPUT = "DisplayOutput";
- private DisplayOutput displayOutput;
-
- public AbortRequest() {
- }
-
- public AbortRequest messageReference(MessageReference messageReference) {
- this.messageReference = messageReference;
- return this;
- }
-
- /**
- * Get messageReference
- * @return messageReference
- **/
- @ApiModelProperty(required = true, value = "")
- @JsonProperty(JSON_PROPERTY_MESSAGE_REFERENCE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public MessageReference getMessageReference() {
- return messageReference;
- }
-
-
- /**
- * messageReference
- *
- * @param messageReference
- */
- @JsonProperty(JSON_PROPERTY_MESSAGE_REFERENCE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setMessageReference(MessageReference messageReference) {
- this.messageReference = messageReference;
- }
-
-
- public AbortRequest abortReason(String abortReason) {
- this.abortReason = abortReason;
- return this;
- }
-
- /**
- * Reason of aborting a transaction.
- * @return abortReason
- **/
- @ApiModelProperty(required = true, value = "Reason of aborting a transaction.")
- @JsonProperty(JSON_PROPERTY_ABORT_REASON)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getAbortReason() {
- return abortReason;
- }
-
-
- /**
- * Reason of aborting a transaction.
- *
- * @param abortReason
- */
- @JsonProperty(JSON_PROPERTY_ABORT_REASON)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setAbortReason(String abortReason) {
- this.abortReason = abortReason;
- }
-
-
- public AbortRequest displayOutput(DisplayOutput displayOutput) {
- this.displayOutput = displayOutput;
- return this;
- }
-
- /**
- * Get displayOutput
- * @return displayOutput
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_DISPLAY_OUTPUT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public DisplayOutput getDisplayOutput() {
- return displayOutput;
- }
-
-
- /**
- * displayOutput
- *
- * @param displayOutput
- */
- @JsonProperty(JSON_PROPERTY_DISPLAY_OUTPUT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setDisplayOutput(DisplayOutput displayOutput) {
- this.displayOutput = displayOutput;
- }
-
-
- /**
- * Return true if this AbortRequest object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- AbortRequest abortRequest = (AbortRequest) o;
- return Objects.equals(this.messageReference, abortRequest.messageReference) &&
- Objects.equals(this.abortReason, abortRequest.abortReason) &&
- Objects.equals(this.displayOutput, abortRequest.displayOutput);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(messageReference, abortReason, displayOutput);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class AbortRequest {\n");
- sb.append(" messageReference: ").append(toIndentedString(messageReference)).append("\n");
- sb.append(" abortReason: ").append(toIndentedString(abortReason)).append("\n");
- sb.append(" displayOutput: ").append(toIndentedString(displayOutput)).append("\n");
- sb.append("}");
- return sb.toString();
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-
-/**
- * Create an instance of AbortRequest given an JSON string
- *
- * @param jsonString JSON string
- * @return An instance of AbortRequest
- * @throws JsonProcessingException if the JSON string is invalid with respect to AbortRequest
- */
- public static AbortRequest fromJson(String jsonString) throws JsonProcessingException {
- return JSON.getMapper().readValue(jsonString, AbortRequest.class);
- }
-/**
- * Convert an instance of AbortRequest to an JSON string
- *
- * @return JSON string
- */
- public String toJson() throws JsonProcessingException {
- return JSON.getMapper().writeValueAsString(this);
- }
-}
-
diff --git a/src/main/java/com/adyen/model/terminal/AbstractOpenApiSchema.java b/src/main/java/com/adyen/model/terminal/AbstractOpenApiSchema.java
deleted file mode 100644
index 061420306..000000000
--- a/src/main/java/com/adyen/model/terminal/AbstractOpenApiSchema.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Adyen Terminal API
- *
- * The version of the OpenAPI document: 1
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package com.adyen.model.terminal;
-
-import java.util.Objects;
-import java.lang.reflect.Type;
-import java.util.Map;
-import jakarta.ws.rs.core.GenericType;
-
-import com.fasterxml.jackson.annotation.JsonValue;
-
-/**
- * Abstract class for oneOf,anyOf schemas defined in OpenAPI spec
- */
-
-public abstract class AbstractOpenApiSchema {
-
- // store the actual instance of the schema/object
- private Object instance;
-
- // is nullable
- private Boolean isNullable;
-
- // schema type (e.g. oneOf, anyOf)
- private final String schemaType;
-
- public AbstractOpenApiSchema(String schemaType, Boolean isNullable) {
- this.schemaType = schemaType;
- this.isNullable = isNullable;
- }
-
- /**
- * Get the list of oneOf/anyOf composed schemas allowed to be stored in this object
- *
- * @return an instance of the actual schema/object
- */
- public abstract Map getSchemas();
-
- /**
- * Get the actual instance
- *
- * @return an instance of the actual schema/object
- */
- @JsonValue
- public Object getActualInstance() {return instance;}
-
- /**
- * Set the actual instance
- *
- * @param instance the actual instance of the schema/object
- */
- public void setActualInstance(Object instance) {this.instance = instance;}
-
- /**
- * Get the instant recursively when the schemas defined in oneOf/anyof happen to be oneOf/anyOf schema as well
- *
- * @return an instance of the actual schema/object
- */
- public Object getActualInstanceRecursively() {
- return getActualInstanceRecursively(this);
- }
-
- private Object getActualInstanceRecursively(AbstractOpenApiSchema object) {
- if (object.getActualInstance() == null) {
- return null;
- } else if (object.getActualInstance() instanceof AbstractOpenApiSchema) {
- return getActualInstanceRecursively((AbstractOpenApiSchema)object.getActualInstance());
- } else {
- return object.getActualInstance();
- }
- }
-
- /**
- * Get the schema type (e.g. anyOf, oneOf)
- *
- * @return the schema type
- */
- public String getSchemaType() {
- return schemaType;
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class ").append(getClass()).append(" {\n");
- sb.append(" instance: ").append(toIndentedString(instance)).append("\n");
- sb.append(" isNullable: ").append(toIndentedString(isNullable)).append("\n");
- sb.append(" schemaType: ").append(toIndentedString(schemaType)).append("\n");
- sb.append("}");
- return sb.toString();
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- AbstractOpenApiSchema a = (AbstractOpenApiSchema) o;
- return Objects.equals(this.instance, a.instance) &&
- Objects.equals(this.isNullable, a.isNullable) &&
- Objects.equals(this.schemaType, a.schemaType);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(instance, isNullable, schemaType);
- }
-
- /**
- * Is nullable
- *
- * @return true if it's nullable
- */
- public Boolean isNullable() {
- if (Boolean.TRUE.equals(isNullable)) {
- return Boolean.TRUE;
- } else {
- return Boolean.FALSE;
- }
- }
-
-
-
-}
diff --git a/src/main/java/com/adyen/model/terminal/AccountType.java b/src/main/java/com/adyen/model/terminal/AccountType.java
deleted file mode 100644
index 6f6a0add0..000000000
--- a/src/main/java/com/adyen/model/terminal/AccountType.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Adyen Terminal API
- *
- * The version of the OpenAPI document: 1
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package com.adyen.model.terminal;
-
-import java.util.Objects;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.HashMap;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
-
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonValue;
-
-/**
- * Gets or Sets AccountType
- */
-public enum AccountType {
-
- CARDTOTALS("CardTotals"),
-
- CHECKING("Checking"),
-
- CREDITCARD("CreditCard"),
-
- DEFAULT("Default"),
-
- EPURSECARD("EpurseCard"),
-
- INVESTMENT("Investment"),
-
- SAVINGS("Savings"),
-
- UNIVERSAL("Universal");
-
- private String value;
-
- AccountType(String value) {
- this.value = value;
- }
-
- @JsonValue
- public String getValue() {
- return value;
- }
-
- @Override
- public String toString() {
- return String.valueOf(value);
- }
-
- @JsonCreator
- public static AccountType fromValue(String value) {
- for (AccountType b : AccountType.values()) {
- if (b.value.equals(value)) {
- return b;
- }
- }
- throw new IllegalArgumentException("Unexpected value '" + value + "'");
- }
-}
-
diff --git a/src/main/java/com/adyen/model/terminal/AdminRequest.java b/src/main/java/com/adyen/model/terminal/AdminRequest.java
deleted file mode 100644
index 0107f636c..000000000
--- a/src/main/java/com/adyen/model/terminal/AdminRequest.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Adyen Terminal API
- *
- * The version of the OpenAPI document: 1
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package com.adyen.model.terminal;
-
-import java.util.Objects;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.HashMap;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.annotation.JsonValue;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
-
-/**
- * Empty. Content of the Custom Admin Request message.
- */
-@ApiModel(description = "Empty. Content of the Custom Admin Request message.")
-@JsonPropertyOrder({
- AdminRequest.JSON_PROPERTY_SERVICE_IDENTIFICATION
-})
-
-public class AdminRequest {
- public static final String JSON_PROPERTY_SERVICE_IDENTIFICATION = "ServiceIdentification";
- private String serviceIdentification;
-
- public AdminRequest() {
- }
-
- public AdminRequest serviceIdentification(String serviceIdentification) {
- this.serviceIdentification = serviceIdentification;
- return this;
- }
-
- /**
- * Identification of the administrative service to process.
- * @return serviceIdentification
- **/
- @ApiModelProperty(value = "Identification of the administrative service to process.")
- @JsonProperty(JSON_PROPERTY_SERVICE_IDENTIFICATION)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getServiceIdentification() {
- return serviceIdentification;
- }
-
-
- /**
- * Identification of the administrative service to process.
- *
- * @param serviceIdentification
- */
- @JsonProperty(JSON_PROPERTY_SERVICE_IDENTIFICATION)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setServiceIdentification(String serviceIdentification) {
- this.serviceIdentification = serviceIdentification;
- }
-
-
- /**
- * Return true if this AdminRequest object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- AdminRequest adminRequest = (AdminRequest) o;
- return Objects.equals(this.serviceIdentification, adminRequest.serviceIdentification);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(serviceIdentification);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class AdminRequest {\n");
- sb.append(" serviceIdentification: ").append(toIndentedString(serviceIdentification)).append("\n");
- sb.append("}");
- return sb.toString();
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-
-/**
- * Create an instance of AdminRequest given an JSON string
- *
- * @param jsonString JSON string
- * @return An instance of AdminRequest
- * @throws JsonProcessingException if the JSON string is invalid with respect to AdminRequest
- */
- public static AdminRequest fromJson(String jsonString) throws JsonProcessingException {
- return JSON.getMapper().readValue(jsonString, AdminRequest.class);
- }
-/**
- * Convert an instance of AdminRequest to an JSON string
- *
- * @return JSON string
- */
- public String toJson() throws JsonProcessingException {
- return JSON.getMapper().writeValueAsString(this);
- }
-}
-
diff --git a/src/main/java/com/adyen/model/terminal/AdminResponse.java b/src/main/java/com/adyen/model/terminal/AdminResponse.java
deleted file mode 100644
index d02b8c4f9..000000000
--- a/src/main/java/com/adyen/model/terminal/AdminResponse.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Adyen Terminal API
- *
- * The version of the OpenAPI document: 1
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package com.adyen.model.terminal;
-
-import java.util.Objects;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.HashMap;
-import com.adyen.model.terminal.Response;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.annotation.JsonValue;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
-
-/**
- * It conveys the result of the Custom Admin. Content of the Custom Admin Response message.
- */
-@ApiModel(description = "It conveys the result of the Custom Admin. Content of the Custom Admin Response message.")
-@JsonPropertyOrder({
- AdminResponse.JSON_PROPERTY_RESPONSE
-})
-
-public class AdminResponse {
- public static final String JSON_PROPERTY_RESPONSE = "Response";
- private Response response;
-
- public AdminResponse() {
- }
-
- public AdminResponse response(Response response) {
- this.response = response;
- return this;
- }
-
- /**
- * Get response
- * @return response
- **/
- @ApiModelProperty(required = true, value = "")
- @JsonProperty(JSON_PROPERTY_RESPONSE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Response getResponse() {
- return response;
- }
-
-
- /**
- * response
- *
- * @param response
- */
- @JsonProperty(JSON_PROPERTY_RESPONSE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setResponse(Response response) {
- this.response = response;
- }
-
-
- /**
- * Return true if this AdminResponse object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- AdminResponse adminResponse = (AdminResponse) o;
- return Objects.equals(this.response, adminResponse.response);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(response);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class AdminResponse {\n");
- sb.append(" response: ").append(toIndentedString(response)).append("\n");
- sb.append("}");
- return sb.toString();
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-
-/**
- * Create an instance of AdminResponse given an JSON string
- *
- * @param jsonString JSON string
- * @return An instance of AdminResponse
- * @throws JsonProcessingException if the JSON string is invalid with respect to AdminResponse
- */
- public static AdminResponse fromJson(String jsonString) throws JsonProcessingException {
- return JSON.getMapper().readValue(jsonString, AdminResponse.class);
- }
-/**
- * Convert an instance of AdminResponse to an JSON string
- *
- * @return JSON string
- */
- public String toJson() throws JsonProcessingException {
- return JSON.getMapper().writeValueAsString(this);
- }
-}
-
diff --git a/src/main/java/com/adyen/model/terminal/Alignment.java b/src/main/java/com/adyen/model/terminal/Alignment.java
deleted file mode 100644
index 0bd4e468f..000000000
--- a/src/main/java/com/adyen/model/terminal/Alignment.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Adyen Terminal API
- *
- * The version of the OpenAPI document: 1
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package com.adyen.model.terminal;
-
-import java.util.Objects;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.HashMap;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
-
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonValue;
-
-/**
- * Gets or Sets Alignment
- */
-public enum Alignment {
-
- CENTRED("Centred"),
-
- JUSTIFIED("Justified"),
-
- LEFT("Left"),
-
- RIGHT("Right");
-
- private String value;
-
- Alignment(String value) {
- this.value = value;
- }
-
- @JsonValue
- public String getValue() {
- return value;
- }
-
- @Override
- public String toString() {
- return String.valueOf(value);
- }
-
- @JsonCreator
- public static Alignment fromValue(String value) {
- for (Alignment b : Alignment.values()) {
- if (b.value.equals(value)) {
- return b;
- }
- }
- throw new IllegalArgumentException("Unexpected value '" + value + "'");
- }
-}
-
diff --git a/src/main/java/com/adyen/model/terminal/AllowedProduct.java b/src/main/java/com/adyen/model/terminal/AllowedProduct.java
deleted file mode 100644
index ae89db462..000000000
--- a/src/main/java/com/adyen/model/terminal/AllowedProduct.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Adyen Terminal API
- *
- * The version of the OpenAPI document: 1
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package com.adyen.model.terminal;
-
-import java.util.Objects;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.HashMap;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.annotation.JsonValue;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
-
-/**
- * Product that is payable by the payment card. Product codes that are payable by the payment card.
- */
-@ApiModel(description = "Product that is payable by the payment card. Product codes that are payable by the payment card.")
-@JsonPropertyOrder({
- AllowedProduct.JSON_PROPERTY_PRODUCT_CODE,
- AllowedProduct.JSON_PROPERTY_EAN_UPC,
- AllowedProduct.JSON_PROPERTY_PRODUCT_LABEL,
- AllowedProduct.JSON_PROPERTY_ADDITIONAL_PRODUCT_INFO
-})
-
-public class AllowedProduct {
- public static final String JSON_PROPERTY_PRODUCT_CODE = "ProductCode";
- private Integer productCode;
-
- public static final String JSON_PROPERTY_EAN_UPC = "EanUpc";
- private Integer eanUpc;
-
- public static final String JSON_PROPERTY_PRODUCT_LABEL = "ProductLabel";
- private String productLabel;
-
- public static final String JSON_PROPERTY_ADDITIONAL_PRODUCT_INFO = "AdditionalProductInfo";
- private String additionalProductInfo;
-
- public AllowedProduct() {
- }
-
- public AllowedProduct productCode(Integer productCode) {
- this.productCode = productCode;
- return this;
- }
-
- /**
- * Product code of item purchased with the transaction.
- * minimum: 1
- * maximum: 20
- * @return productCode
- **/
- @ApiModelProperty(required = true, value = "Product code of item purchased with the transaction.")
- @JsonProperty(JSON_PROPERTY_PRODUCT_CODE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Integer getProductCode() {
- return productCode;
- }
-
-
- /**
- * Product code of item purchased with the transaction.
- *
- * @param productCode
- */
- @JsonProperty(JSON_PROPERTY_PRODUCT_CODE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setProductCode(Integer productCode) {
- this.productCode = productCode;
- }
-
-
- public AllowedProduct eanUpc(Integer eanUpc) {
- this.eanUpc = eanUpc;
- return this;
- }
-
- /**
- * Standard product code of item purchased with the transaction.
- * @return eanUpc
- **/
- @ApiModelProperty(value = "Standard product code of item purchased with the transaction.")
- @JsonProperty(JSON_PROPERTY_EAN_UPC)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Integer getEanUpc() {
- return eanUpc;
- }
-
-
- /**
- * Standard product code of item purchased with the transaction.
- *
- * @param eanUpc
- */
- @JsonProperty(JSON_PROPERTY_EAN_UPC)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setEanUpc(Integer eanUpc) {
- this.eanUpc = eanUpc;
- }
-
-
- public AllowedProduct productLabel(String productLabel) {
- this.productLabel = productLabel;
- return this;
- }
-
- /**
- * Product name of an item purchased with the transaction.
- * @return productLabel
- **/
- @ApiModelProperty(value = "Product name of an item purchased with the transaction.")
- @JsonProperty(JSON_PROPERTY_PRODUCT_LABEL)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getProductLabel() {
- return productLabel;
- }
-
-
- /**
- * Product name of an item purchased with the transaction.
- *
- * @param productLabel
- */
- @JsonProperty(JSON_PROPERTY_PRODUCT_LABEL)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setProductLabel(String productLabel) {
- this.productLabel = productLabel;
- }
-
-
- public AllowedProduct additionalProductInfo(String additionalProductInfo) {
- this.additionalProductInfo = additionalProductInfo;
- return this;
- }
-
- /**
- * Additionl information related to the line item.
- * @return additionalProductInfo
- **/
- @ApiModelProperty(value = "Additionl information related to the line item.")
- @JsonProperty(JSON_PROPERTY_ADDITIONAL_PRODUCT_INFO)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getAdditionalProductInfo() {
- return additionalProductInfo;
- }
-
-
- /**
- * Additionl information related to the line item.
- *
- * @param additionalProductInfo
- */
- @JsonProperty(JSON_PROPERTY_ADDITIONAL_PRODUCT_INFO)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setAdditionalProductInfo(String additionalProductInfo) {
- this.additionalProductInfo = additionalProductInfo;
- }
-
-
- /**
- * Return true if this AllowedProduct object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- AllowedProduct allowedProduct = (AllowedProduct) o;
- return Objects.equals(this.productCode, allowedProduct.productCode) &&
- Objects.equals(this.eanUpc, allowedProduct.eanUpc) &&
- Objects.equals(this.productLabel, allowedProduct.productLabel) &&
- Objects.equals(this.additionalProductInfo, allowedProduct.additionalProductInfo);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(productCode, eanUpc, productLabel, additionalProductInfo);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class AllowedProduct {\n");
- sb.append(" productCode: ").append(toIndentedString(productCode)).append("\n");
- sb.append(" eanUpc: ").append(toIndentedString(eanUpc)).append("\n");
- sb.append(" productLabel: ").append(toIndentedString(productLabel)).append("\n");
- sb.append(" additionalProductInfo: ").append(toIndentedString(additionalProductInfo)).append("\n");
- sb.append("}");
- return sb.toString();
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-
-/**
- * Create an instance of AllowedProduct given an JSON string
- *
- * @param jsonString JSON string
- * @return An instance of AllowedProduct
- * @throws JsonProcessingException if the JSON string is invalid with respect to AllowedProduct
- */
- public static AllowedProduct fromJson(String jsonString) throws JsonProcessingException {
- return JSON.getMapper().readValue(jsonString, AllowedProduct.class);
- }
-/**
- * Convert an instance of AllowedProduct to an JSON string
- *
- * @return JSON string
- */
- public String toJson() throws JsonProcessingException {
- return JSON.getMapper().writeValueAsString(this);
- }
-}
-
diff --git a/src/main/java/com/adyen/model/terminal/AmountsReq.java b/src/main/java/com/adyen/model/terminal/AmountsReq.java
deleted file mode 100644
index 328d1dce4..000000000
--- a/src/main/java/com/adyen/model/terminal/AmountsReq.java
+++ /dev/null
@@ -1,401 +0,0 @@
-/*
- * Adyen Terminal API
- *
- * The version of the OpenAPI document: 1
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package com.adyen.model.terminal;
-
-import java.util.Objects;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.HashMap;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.annotation.JsonValue;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import java.math.BigDecimal;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
-
-/**
- * Amounts of a payment
- */
-@ApiModel(description = "Amounts of a payment")
-@JsonPropertyOrder({
- AmountsReq.JSON_PROPERTY_CURRENCY,
- AmountsReq.JSON_PROPERTY_REQUESTED_AMOUNT,
- AmountsReq.JSON_PROPERTY_CASH_BACK_AMOUNT,
- AmountsReq.JSON_PROPERTY_TIP_AMOUNT,
- AmountsReq.JSON_PROPERTY_PAID_AMOUNT,
- AmountsReq.JSON_PROPERTY_MINIMUM_AMOUNT_TO_DELIVER,
- AmountsReq.JSON_PROPERTY_MAXIMUM_CASH_BACK_AMOUNT,
- AmountsReq.JSON_PROPERTY_MINIMUM_SPLIT_AMOUNT
-})
-
-public class AmountsReq {
- public static final String JSON_PROPERTY_CURRENCY = "Currency";
- private String currency;
-
- public static final String JSON_PROPERTY_REQUESTED_AMOUNT = "RequestedAmount";
- private BigDecimal requestedAmount;
-
- public static final String JSON_PROPERTY_CASH_BACK_AMOUNT = "CashBackAmount";
- private BigDecimal cashBackAmount;
-
- public static final String JSON_PROPERTY_TIP_AMOUNT = "TipAmount";
- private BigDecimal tipAmount;
-
- public static final String JSON_PROPERTY_PAID_AMOUNT = "PaidAmount";
- private BigDecimal paidAmount;
-
- public static final String JSON_PROPERTY_MINIMUM_AMOUNT_TO_DELIVER = "MinimumAmountToDeliver";
- private BigDecimal minimumAmountToDeliver;
-
- public static final String JSON_PROPERTY_MAXIMUM_CASH_BACK_AMOUNT = "MaximumCashBackAmount";
- private BigDecimal maximumCashBackAmount;
-
- public static final String JSON_PROPERTY_MINIMUM_SPLIT_AMOUNT = "MinimumSplitAmount";
- private BigDecimal minimumSplitAmount;
-
- public AmountsReq() {
- }
-
- public AmountsReq currency(String currency) {
- this.currency = currency;
- return this;
- }
-
- /**
- * Get currency
- * @return currency
- **/
- @ApiModelProperty(required = true, value = "")
- @JsonProperty(JSON_PROPERTY_CURRENCY)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getCurrency() {
- return currency;
- }
-
-
- /**
- * currency
- *
- * @param currency
- */
- @JsonProperty(JSON_PROPERTY_CURRENCY)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setCurrency(String currency) {
- this.currency = currency;
- }
-
-
- public AmountsReq requestedAmount(BigDecimal requestedAmount) {
- this.requestedAmount = requestedAmount;
- return this;
- }
-
- /**
- * Get requestedAmount
- * minimum: 0.0
- * maximum: 99999999.999999
- * @return requestedAmount
- **/
- @ApiModelProperty(required = true, value = "")
- @JsonProperty(JSON_PROPERTY_REQUESTED_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public BigDecimal getRequestedAmount() {
- return requestedAmount;
- }
-
-
- /**
- * requestedAmount
- *
- * @param requestedAmount
- */
- @JsonProperty(JSON_PROPERTY_REQUESTED_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setRequestedAmount(BigDecimal requestedAmount) {
- this.requestedAmount = requestedAmount;
- }
-
-
- public AmountsReq cashBackAmount(BigDecimal cashBackAmount) {
- this.cashBackAmount = cashBackAmount;
- return this;
- }
-
- /**
- * Get cashBackAmount
- * minimum: 0.0
- * maximum: 99999999.999999
- * @return cashBackAmount
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_CASH_BACK_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public BigDecimal getCashBackAmount() {
- return cashBackAmount;
- }
-
-
- /**
- * cashBackAmount
- *
- * @param cashBackAmount
- */
- @JsonProperty(JSON_PROPERTY_CASH_BACK_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setCashBackAmount(BigDecimal cashBackAmount) {
- this.cashBackAmount = cashBackAmount;
- }
-
-
- public AmountsReq tipAmount(BigDecimal tipAmount) {
- this.tipAmount = tipAmount;
- return this;
- }
-
- /**
- * Get tipAmount
- * minimum: 0.0
- * maximum: 99999999.999999
- * @return tipAmount
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_TIP_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public BigDecimal getTipAmount() {
- return tipAmount;
- }
-
-
- /**
- * tipAmount
- *
- * @param tipAmount
- */
- @JsonProperty(JSON_PROPERTY_TIP_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setTipAmount(BigDecimal tipAmount) {
- this.tipAmount = tipAmount;
- }
-
-
- public AmountsReq paidAmount(BigDecimal paidAmount) {
- this.paidAmount = paidAmount;
- return this;
- }
-
- /**
- * Get paidAmount
- * minimum: 0.0
- * maximum: 99999999.999999
- * @return paidAmount
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_PAID_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public BigDecimal getPaidAmount() {
- return paidAmount;
- }
-
-
- /**
- * paidAmount
- *
- * @param paidAmount
- */
- @JsonProperty(JSON_PROPERTY_PAID_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setPaidAmount(BigDecimal paidAmount) {
- this.paidAmount = paidAmount;
- }
-
-
- public AmountsReq minimumAmountToDeliver(BigDecimal minimumAmountToDeliver) {
- this.minimumAmountToDeliver = minimumAmountToDeliver;
- return this;
- }
-
- /**
- * Get minimumAmountToDeliver
- * minimum: 0.0
- * maximum: 99999999.999999
- * @return minimumAmountToDeliver
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_MINIMUM_AMOUNT_TO_DELIVER)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public BigDecimal getMinimumAmountToDeliver() {
- return minimumAmountToDeliver;
- }
-
-
- /**
- * minimumAmountToDeliver
- *
- * @param minimumAmountToDeliver
- */
- @JsonProperty(JSON_PROPERTY_MINIMUM_AMOUNT_TO_DELIVER)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setMinimumAmountToDeliver(BigDecimal minimumAmountToDeliver) {
- this.minimumAmountToDeliver = minimumAmountToDeliver;
- }
-
-
- public AmountsReq maximumCashBackAmount(BigDecimal maximumCashBackAmount) {
- this.maximumCashBackAmount = maximumCashBackAmount;
- return this;
- }
-
- /**
- * Get maximumCashBackAmount
- * minimum: 0.0
- * maximum: 99999999.999999
- * @return maximumCashBackAmount
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_MAXIMUM_CASH_BACK_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public BigDecimal getMaximumCashBackAmount() {
- return maximumCashBackAmount;
- }
-
-
- /**
- * maximumCashBackAmount
- *
- * @param maximumCashBackAmount
- */
- @JsonProperty(JSON_PROPERTY_MAXIMUM_CASH_BACK_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setMaximumCashBackAmount(BigDecimal maximumCashBackAmount) {
- this.maximumCashBackAmount = maximumCashBackAmount;
- }
-
-
- public AmountsReq minimumSplitAmount(BigDecimal minimumSplitAmount) {
- this.minimumSplitAmount = minimumSplitAmount;
- return this;
- }
-
- /**
- * Get minimumSplitAmount
- * minimum: 0.0
- * maximum: 99999999.999999
- * @return minimumSplitAmount
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_MINIMUM_SPLIT_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public BigDecimal getMinimumSplitAmount() {
- return minimumSplitAmount;
- }
-
-
- /**
- * minimumSplitAmount
- *
- * @param minimumSplitAmount
- */
- @JsonProperty(JSON_PROPERTY_MINIMUM_SPLIT_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setMinimumSplitAmount(BigDecimal minimumSplitAmount) {
- this.minimumSplitAmount = minimumSplitAmount;
- }
-
-
- /**
- * Return true if this AmountsReq object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- AmountsReq amountsReq = (AmountsReq) o;
- return Objects.equals(this.currency, amountsReq.currency) &&
- Objects.equals(this.requestedAmount, amountsReq.requestedAmount) &&
- Objects.equals(this.cashBackAmount, amountsReq.cashBackAmount) &&
- Objects.equals(this.tipAmount, amountsReq.tipAmount) &&
- Objects.equals(this.paidAmount, amountsReq.paidAmount) &&
- Objects.equals(this.minimumAmountToDeliver, amountsReq.minimumAmountToDeliver) &&
- Objects.equals(this.maximumCashBackAmount, amountsReq.maximumCashBackAmount) &&
- Objects.equals(this.minimumSplitAmount, amountsReq.minimumSplitAmount);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(currency, requestedAmount, cashBackAmount, tipAmount, paidAmount, minimumAmountToDeliver, maximumCashBackAmount, minimumSplitAmount);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class AmountsReq {\n");
- sb.append(" currency: ").append(toIndentedString(currency)).append("\n");
- sb.append(" requestedAmount: ").append(toIndentedString(requestedAmount)).append("\n");
- sb.append(" cashBackAmount: ").append(toIndentedString(cashBackAmount)).append("\n");
- sb.append(" tipAmount: ").append(toIndentedString(tipAmount)).append("\n");
- sb.append(" paidAmount: ").append(toIndentedString(paidAmount)).append("\n");
- sb.append(" minimumAmountToDeliver: ").append(toIndentedString(minimumAmountToDeliver)).append("\n");
- sb.append(" maximumCashBackAmount: ").append(toIndentedString(maximumCashBackAmount)).append("\n");
- sb.append(" minimumSplitAmount: ").append(toIndentedString(minimumSplitAmount)).append("\n");
- sb.append("}");
- return sb.toString();
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-
-/**
- * Create an instance of AmountsReq given an JSON string
- *
- * @param jsonString JSON string
- * @return An instance of AmountsReq
- * @throws JsonProcessingException if the JSON string is invalid with respect to AmountsReq
- */
- public static AmountsReq fromJson(String jsonString) throws JsonProcessingException {
- return JSON.getMapper().readValue(jsonString, AmountsReq.class);
- }
-/**
- * Convert an instance of AmountsReq to an JSON string
- *
- * @return JSON string
- */
- public String toJson() throws JsonProcessingException {
- return JSON.getMapper().writeValueAsString(this);
- }
-}
-
diff --git a/src/main/java/com/adyen/model/terminal/AmountsResp.java b/src/main/java/com/adyen/model/terminal/AmountsResp.java
deleted file mode 100644
index 4548871fd..000000000
--- a/src/main/java/com/adyen/model/terminal/AmountsResp.java
+++ /dev/null
@@ -1,324 +0,0 @@
-/*
- * Adyen Terminal API
- *
- * The version of the OpenAPI document: 1
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package com.adyen.model.terminal;
-
-import java.util.Objects;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.HashMap;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.annotation.JsonValue;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import java.math.BigDecimal;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
-
-/**
- * AmountsResp
- */
-@JsonPropertyOrder({
- AmountsResp.JSON_PROPERTY_CURRENCY,
- AmountsResp.JSON_PROPERTY_AUTHORIZED_AMOUNT,
- AmountsResp.JSON_PROPERTY_TOTAL_REBATES_AMOUNT,
- AmountsResp.JSON_PROPERTY_TOTAL_FEES_AMOUNT,
- AmountsResp.JSON_PROPERTY_CASH_BACK_AMOUNT,
- AmountsResp.JSON_PROPERTY_TIP_AMOUNT
-})
-
-public class AmountsResp {
- public static final String JSON_PROPERTY_CURRENCY = "Currency";
- private String currency;
-
- public static final String JSON_PROPERTY_AUTHORIZED_AMOUNT = "AuthorizedAmount";
- private BigDecimal authorizedAmount;
-
- public static final String JSON_PROPERTY_TOTAL_REBATES_AMOUNT = "TotalRebatesAmount";
- private BigDecimal totalRebatesAmount;
-
- public static final String JSON_PROPERTY_TOTAL_FEES_AMOUNT = "TotalFeesAmount";
- private BigDecimal totalFeesAmount;
-
- public static final String JSON_PROPERTY_CASH_BACK_AMOUNT = "CashBackAmount";
- private BigDecimal cashBackAmount;
-
- public static final String JSON_PROPERTY_TIP_AMOUNT = "TipAmount";
- private BigDecimal tipAmount;
-
- public AmountsResp() {
- }
-
- public AmountsResp currency(String currency) {
- this.currency = currency;
- return this;
- }
-
- /**
- * Get currency
- * @return currency
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_CURRENCY)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getCurrency() {
- return currency;
- }
-
-
- /**
- * currency
- *
- * @param currency
- */
- @JsonProperty(JSON_PROPERTY_CURRENCY)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setCurrency(String currency) {
- this.currency = currency;
- }
-
-
- public AmountsResp authorizedAmount(BigDecimal authorizedAmount) {
- this.authorizedAmount = authorizedAmount;
- return this;
- }
-
- /**
- * Get authorizedAmount
- * minimum: 0.0
- * maximum: 99999999.999999
- * @return authorizedAmount
- **/
- @ApiModelProperty(required = true, value = "")
- @JsonProperty(JSON_PROPERTY_AUTHORIZED_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public BigDecimal getAuthorizedAmount() {
- return authorizedAmount;
- }
-
-
- /**
- * authorizedAmount
- *
- * @param authorizedAmount
- */
- @JsonProperty(JSON_PROPERTY_AUTHORIZED_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setAuthorizedAmount(BigDecimal authorizedAmount) {
- this.authorizedAmount = authorizedAmount;
- }
-
-
- public AmountsResp totalRebatesAmount(BigDecimal totalRebatesAmount) {
- this.totalRebatesAmount = totalRebatesAmount;
- return this;
- }
-
- /**
- * Get totalRebatesAmount
- * minimum: 0.0
- * maximum: 99999999.999999
- * @return totalRebatesAmount
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_TOTAL_REBATES_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public BigDecimal getTotalRebatesAmount() {
- return totalRebatesAmount;
- }
-
-
- /**
- * totalRebatesAmount
- *
- * @param totalRebatesAmount
- */
- @JsonProperty(JSON_PROPERTY_TOTAL_REBATES_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setTotalRebatesAmount(BigDecimal totalRebatesAmount) {
- this.totalRebatesAmount = totalRebatesAmount;
- }
-
-
- public AmountsResp totalFeesAmount(BigDecimal totalFeesAmount) {
- this.totalFeesAmount = totalFeesAmount;
- return this;
- }
-
- /**
- * Get totalFeesAmount
- * minimum: 0.0
- * maximum: 99999999.999999
- * @return totalFeesAmount
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_TOTAL_FEES_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public BigDecimal getTotalFeesAmount() {
- return totalFeesAmount;
- }
-
-
- /**
- * totalFeesAmount
- *
- * @param totalFeesAmount
- */
- @JsonProperty(JSON_PROPERTY_TOTAL_FEES_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setTotalFeesAmount(BigDecimal totalFeesAmount) {
- this.totalFeesAmount = totalFeesAmount;
- }
-
-
- public AmountsResp cashBackAmount(BigDecimal cashBackAmount) {
- this.cashBackAmount = cashBackAmount;
- return this;
- }
-
- /**
- * Get cashBackAmount
- * minimum: 0.0
- * maximum: 99999999.999999
- * @return cashBackAmount
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_CASH_BACK_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public BigDecimal getCashBackAmount() {
- return cashBackAmount;
- }
-
-
- /**
- * cashBackAmount
- *
- * @param cashBackAmount
- */
- @JsonProperty(JSON_PROPERTY_CASH_BACK_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setCashBackAmount(BigDecimal cashBackAmount) {
- this.cashBackAmount = cashBackAmount;
- }
-
-
- public AmountsResp tipAmount(BigDecimal tipAmount) {
- this.tipAmount = tipAmount;
- return this;
- }
-
- /**
- * Get tipAmount
- * minimum: 0.0
- * maximum: 99999999.999999
- * @return tipAmount
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_TIP_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public BigDecimal getTipAmount() {
- return tipAmount;
- }
-
-
- /**
- * tipAmount
- *
- * @param tipAmount
- */
- @JsonProperty(JSON_PROPERTY_TIP_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setTipAmount(BigDecimal tipAmount) {
- this.tipAmount = tipAmount;
- }
-
-
- /**
- * Return true if this AmountsResp object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- AmountsResp amountsResp = (AmountsResp) o;
- return Objects.equals(this.currency, amountsResp.currency) &&
- Objects.equals(this.authorizedAmount, amountsResp.authorizedAmount) &&
- Objects.equals(this.totalRebatesAmount, amountsResp.totalRebatesAmount) &&
- Objects.equals(this.totalFeesAmount, amountsResp.totalFeesAmount) &&
- Objects.equals(this.cashBackAmount, amountsResp.cashBackAmount) &&
- Objects.equals(this.tipAmount, amountsResp.tipAmount);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(currency, authorizedAmount, totalRebatesAmount, totalFeesAmount, cashBackAmount, tipAmount);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class AmountsResp {\n");
- sb.append(" currency: ").append(toIndentedString(currency)).append("\n");
- sb.append(" authorizedAmount: ").append(toIndentedString(authorizedAmount)).append("\n");
- sb.append(" totalRebatesAmount: ").append(toIndentedString(totalRebatesAmount)).append("\n");
- sb.append(" totalFeesAmount: ").append(toIndentedString(totalFeesAmount)).append("\n");
- sb.append(" cashBackAmount: ").append(toIndentedString(cashBackAmount)).append("\n");
- sb.append(" tipAmount: ").append(toIndentedString(tipAmount)).append("\n");
- sb.append("}");
- return sb.toString();
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-
-/**
- * Create an instance of AmountsResp given an JSON string
- *
- * @param jsonString JSON string
- * @return An instance of AmountsResp
- * @throws JsonProcessingException if the JSON string is invalid with respect to AmountsResp
- */
- public static AmountsResp fromJson(String jsonString) throws JsonProcessingException {
- return JSON.getMapper().readValue(jsonString, AmountsResp.class);
- }
-/**
- * Convert an instance of AmountsResp to an JSON string
- *
- * @return JSON string
- */
- public String toJson() throws JsonProcessingException {
- return JSON.getMapper().writeValueAsString(this);
- }
-}
-
diff --git a/src/main/java/com/adyen/model/terminal/AreaSize.java b/src/main/java/com/adyen/model/terminal/AreaSize.java
deleted file mode 100644
index ae11283f1..000000000
--- a/src/main/java/com/adyen/model/terminal/AreaSize.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Adyen Terminal API
- *
- * The version of the OpenAPI document: 1
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package com.adyen.model.terminal;
-
-import java.util.Objects;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.HashMap;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.annotation.JsonValue;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
-
-/**
- * AreaSize
- */
-@JsonPropertyOrder({
- AreaSize.JSON_PROPERTY_X,
- AreaSize.JSON_PROPERTY_Y
-})
-
-public class AreaSize {
- public static final String JSON_PROPERTY_X = "X";
- private String X;
-
- public static final String JSON_PROPERTY_Y = "Y";
- private String Y;
-
- public AreaSize() {
- }
-
- public AreaSize X(String X) {
- this.X = X;
- return this;
- }
-
- /**
- * Get X
- * @return X
- **/
- @ApiModelProperty(required = true, value = "")
- @JsonProperty(JSON_PROPERTY_X)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getX() {
- return X;
- }
-
-
- /**
- * X
- *
- * @param X
- */
- @JsonProperty(JSON_PROPERTY_X)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setX(String X) {
- this.X = X;
- }
-
-
- public AreaSize Y(String Y) {
- this.Y = Y;
- return this;
- }
-
- /**
- * Get Y
- * @return Y
- **/
- @ApiModelProperty(required = true, value = "")
- @JsonProperty(JSON_PROPERTY_Y)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getY() {
- return Y;
- }
-
-
- /**
- * Y
- *
- * @param Y
- */
- @JsonProperty(JSON_PROPERTY_Y)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setY(String Y) {
- this.Y = Y;
- }
-
-
- /**
- * Return true if this AreaSize object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- AreaSize areaSize = (AreaSize) o;
- return Objects.equals(this.X, areaSize.X) &&
- Objects.equals(this.Y, areaSize.Y);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(X, Y);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class AreaSize {\n");
- sb.append(" X: ").append(toIndentedString(X)).append("\n");
- sb.append(" Y: ").append(toIndentedString(Y)).append("\n");
- sb.append("}");
- return sb.toString();
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-
-/**
- * Create an instance of AreaSize given an JSON string
- *
- * @param jsonString JSON string
- * @return An instance of AreaSize
- * @throws JsonProcessingException if the JSON string is invalid with respect to AreaSize
- */
- public static AreaSize fromJson(String jsonString) throws JsonProcessingException {
- return JSON.getMapper().readValue(jsonString, AreaSize.class);
- }
-/**
- * Convert an instance of AreaSize to an JSON string
- *
- * @return JSON string
- */
- public String toJson() throws JsonProcessingException {
- return JSON.getMapper().writeValueAsString(this);
- }
-}
-
diff --git a/src/main/java/com/adyen/model/terminal/BalanceInquiryRequest.java b/src/main/java/com/adyen/model/terminal/BalanceInquiryRequest.java
deleted file mode 100644
index 8679179e6..000000000
--- a/src/main/java/com/adyen/model/terminal/BalanceInquiryRequest.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Adyen Terminal API
- *
- * The version of the OpenAPI document: 1
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package com.adyen.model.terminal;
-
-import java.util.Objects;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.HashMap;
-import com.adyen.model.terminal.LoyaltyAccountReq;
-import com.adyen.model.terminal.PaymentAccountReq;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.annotation.JsonValue;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
-
-/**
- * It conveys Information related to the account for which a Balance Inquiry is requested. Content of the Balance Inquiry Request message.
- */
-@ApiModel(description = "It conveys Information related to the account for which a Balance Inquiry is requested. Content of the Balance Inquiry Request message.")
-@JsonPropertyOrder({
- BalanceInquiryRequest.JSON_PROPERTY_PAYMENT_ACCOUNT_REQ,
- BalanceInquiryRequest.JSON_PROPERTY_LOYALTY_ACCOUNT_REQ
-})
-
-public class BalanceInquiryRequest {
- public static final String JSON_PROPERTY_PAYMENT_ACCOUNT_REQ = "PaymentAccountReq";
- private PaymentAccountReq paymentAccountReq;
-
- public static final String JSON_PROPERTY_LOYALTY_ACCOUNT_REQ = "LoyaltyAccountReq";
- private LoyaltyAccountReq loyaltyAccountReq;
-
- public BalanceInquiryRequest() {
- }
-
- public BalanceInquiryRequest paymentAccountReq(PaymentAccountReq paymentAccountReq) {
- this.paymentAccountReq = paymentAccountReq;
- return this;
- }
-
- /**
- * Get paymentAccountReq
- * @return paymentAccountReq
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_PAYMENT_ACCOUNT_REQ)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public PaymentAccountReq getPaymentAccountReq() {
- return paymentAccountReq;
- }
-
-
- /**
- * paymentAccountReq
- *
- * @param paymentAccountReq
- */
- @JsonProperty(JSON_PROPERTY_PAYMENT_ACCOUNT_REQ)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setPaymentAccountReq(PaymentAccountReq paymentAccountReq) {
- this.paymentAccountReq = paymentAccountReq;
- }
-
-
- public BalanceInquiryRequest loyaltyAccountReq(LoyaltyAccountReq loyaltyAccountReq) {
- this.loyaltyAccountReq = loyaltyAccountReq;
- return this;
- }
-
- /**
- * Get loyaltyAccountReq
- * @return loyaltyAccountReq
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_LOYALTY_ACCOUNT_REQ)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public LoyaltyAccountReq getLoyaltyAccountReq() {
- return loyaltyAccountReq;
- }
-
-
- /**
- * loyaltyAccountReq
- *
- * @param loyaltyAccountReq
- */
- @JsonProperty(JSON_PROPERTY_LOYALTY_ACCOUNT_REQ)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setLoyaltyAccountReq(LoyaltyAccountReq loyaltyAccountReq) {
- this.loyaltyAccountReq = loyaltyAccountReq;
- }
-
-
- /**
- * Return true if this BalanceInquiryRequest object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- BalanceInquiryRequest balanceInquiryRequest = (BalanceInquiryRequest) o;
- return Objects.equals(this.paymentAccountReq, balanceInquiryRequest.paymentAccountReq) &&
- Objects.equals(this.loyaltyAccountReq, balanceInquiryRequest.loyaltyAccountReq);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(paymentAccountReq, loyaltyAccountReq);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class BalanceInquiryRequest {\n");
- sb.append(" paymentAccountReq: ").append(toIndentedString(paymentAccountReq)).append("\n");
- sb.append(" loyaltyAccountReq: ").append(toIndentedString(loyaltyAccountReq)).append("\n");
- sb.append("}");
- return sb.toString();
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-
-/**
- * Create an instance of BalanceInquiryRequest given an JSON string
- *
- * @param jsonString JSON string
- * @return An instance of BalanceInquiryRequest
- * @throws JsonProcessingException if the JSON string is invalid with respect to BalanceInquiryRequest
- */
- public static BalanceInquiryRequest fromJson(String jsonString) throws JsonProcessingException {
- return JSON.getMapper().readValue(jsonString, BalanceInquiryRequest.class);
- }
-/**
- * Convert an instance of BalanceInquiryRequest to an JSON string
- *
- * @return JSON string
- */
- public String toJson() throws JsonProcessingException {
- return JSON.getMapper().writeValueAsString(this);
- }
-}
-
diff --git a/src/main/java/com/adyen/model/terminal/BalanceInquiryResponse.java b/src/main/java/com/adyen/model/terminal/BalanceInquiryResponse.java
deleted file mode 100644
index 7b37775d7..000000000
--- a/src/main/java/com/adyen/model/terminal/BalanceInquiryResponse.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Adyen Terminal API
- *
- * The version of the OpenAPI document: 1
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package com.adyen.model.terminal;
-
-import java.util.Objects;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.HashMap;
-import com.adyen.model.terminal.LoyaltyAccountStatus;
-import com.adyen.model.terminal.PaymentAccountStatus;
-import com.adyen.model.terminal.PaymentReceipt;
-import com.adyen.model.terminal.Response;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.annotation.JsonValue;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import java.util.ArrayList;
-import java.util.List;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
-
-/**
- * It conveys the balance and the identification of the associated payment, loyalty or stored value account. Content of the Balance Inquiry Response message.
- */
-@ApiModel(description = "It conveys the balance and the identification of the associated payment, loyalty or stored value account. Content of the Balance Inquiry Response message.")
-@JsonPropertyOrder({
- BalanceInquiryResponse.JSON_PROPERTY_RESPONSE,
- BalanceInquiryResponse.JSON_PROPERTY_PAYMENT_ACCOUNT_STATUS,
- BalanceInquiryResponse.JSON_PROPERTY_LOYALTY_ACCOUNT_STATUS,
- BalanceInquiryResponse.JSON_PROPERTY_PAYMENT_RECEIPT
-})
-
-public class BalanceInquiryResponse {
- public static final String JSON_PROPERTY_RESPONSE = "Response";
- private Response response;
-
- public static final String JSON_PROPERTY_PAYMENT_ACCOUNT_STATUS = "PaymentAccountStatus";
- private PaymentAccountStatus paymentAccountStatus;
-
- public static final String JSON_PROPERTY_LOYALTY_ACCOUNT_STATUS = "LoyaltyAccountStatus";
- private LoyaltyAccountStatus loyaltyAccountStatus;
-
- public static final String JSON_PROPERTY_PAYMENT_RECEIPT = "PaymentReceipt";
- private List paymentReceipt = null;
-
- public BalanceInquiryResponse() {
- }
-
- public BalanceInquiryResponse response(Response response) {
- this.response = response;
- return this;
- }
-
- /**
- * Get response
- * @return response
- **/
- @ApiModelProperty(required = true, value = "")
- @JsonProperty(JSON_PROPERTY_RESPONSE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Response getResponse() {
- return response;
- }
-
-
- /**
- * response
- *
- * @param response
- */
- @JsonProperty(JSON_PROPERTY_RESPONSE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setResponse(Response response) {
- this.response = response;
- }
-
-
- public BalanceInquiryResponse paymentAccountStatus(PaymentAccountStatus paymentAccountStatus) {
- this.paymentAccountStatus = paymentAccountStatus;
- return this;
- }
-
- /**
- * Get paymentAccountStatus
- * @return paymentAccountStatus
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_PAYMENT_ACCOUNT_STATUS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public PaymentAccountStatus getPaymentAccountStatus() {
- return paymentAccountStatus;
- }
-
-
- /**
- * paymentAccountStatus
- *
- * @param paymentAccountStatus
- */
- @JsonProperty(JSON_PROPERTY_PAYMENT_ACCOUNT_STATUS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setPaymentAccountStatus(PaymentAccountStatus paymentAccountStatus) {
- this.paymentAccountStatus = paymentAccountStatus;
- }
-
-
- public BalanceInquiryResponse loyaltyAccountStatus(LoyaltyAccountStatus loyaltyAccountStatus) {
- this.loyaltyAccountStatus = loyaltyAccountStatus;
- return this;
- }
-
- /**
- * Get loyaltyAccountStatus
- * @return loyaltyAccountStatus
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_LOYALTY_ACCOUNT_STATUS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public LoyaltyAccountStatus getLoyaltyAccountStatus() {
- return loyaltyAccountStatus;
- }
-
-
- /**
- * loyaltyAccountStatus
- *
- * @param loyaltyAccountStatus
- */
- @JsonProperty(JSON_PROPERTY_LOYALTY_ACCOUNT_STATUS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setLoyaltyAccountStatus(LoyaltyAccountStatus loyaltyAccountStatus) {
- this.loyaltyAccountStatus = loyaltyAccountStatus;
- }
-
-
- public BalanceInquiryResponse paymentReceipt(List paymentReceipt) {
- this.paymentReceipt = paymentReceipt;
- return this;
- }
-
- public BalanceInquiryResponse addPaymentReceiptItem(PaymentReceipt paymentReceiptItem) {
- if (this.paymentReceipt == null) {
- this.paymentReceipt = new ArrayList<>();
- }
- this.paymentReceipt.add(paymentReceiptItem);
- return this;
- }
-
- /**
- * Get paymentReceipt
- * @return paymentReceipt
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_PAYMENT_RECEIPT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public List getPaymentReceipt() {
- return paymentReceipt;
- }
-
-
- /**
- * paymentReceipt
- *
- * @param paymentReceipt
- */
- @JsonProperty(JSON_PROPERTY_PAYMENT_RECEIPT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setPaymentReceipt(List paymentReceipt) {
- this.paymentReceipt = paymentReceipt;
- }
-
-
- /**
- * Return true if this BalanceInquiryResponse object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- BalanceInquiryResponse balanceInquiryResponse = (BalanceInquiryResponse) o;
- return Objects.equals(this.response, balanceInquiryResponse.response) &&
- Objects.equals(this.paymentAccountStatus, balanceInquiryResponse.paymentAccountStatus) &&
- Objects.equals(this.loyaltyAccountStatus, balanceInquiryResponse.loyaltyAccountStatus) &&
- Objects.equals(this.paymentReceipt, balanceInquiryResponse.paymentReceipt);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(response, paymentAccountStatus, loyaltyAccountStatus, paymentReceipt);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class BalanceInquiryResponse {\n");
- sb.append(" response: ").append(toIndentedString(response)).append("\n");
- sb.append(" paymentAccountStatus: ").append(toIndentedString(paymentAccountStatus)).append("\n");
- sb.append(" loyaltyAccountStatus: ").append(toIndentedString(loyaltyAccountStatus)).append("\n");
- sb.append(" paymentReceipt: ").append(toIndentedString(paymentReceipt)).append("\n");
- sb.append("}");
- return sb.toString();
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-
-/**
- * Create an instance of BalanceInquiryResponse given an JSON string
- *
- * @param jsonString JSON string
- * @return An instance of BalanceInquiryResponse
- * @throws JsonProcessingException if the JSON string is invalid with respect to BalanceInquiryResponse
- */
- public static BalanceInquiryResponse fromJson(String jsonString) throws JsonProcessingException {
- return JSON.getMapper().readValue(jsonString, BalanceInquiryResponse.class);
- }
-/**
- * Convert an instance of BalanceInquiryResponse to an JSON string
- *
- * @return JSON string
- */
- public String toJson() throws JsonProcessingException {
- return JSON.getMapper().writeValueAsString(this);
- }
-}
-
diff --git a/src/main/java/com/adyen/model/terminal/BarcodeType.java b/src/main/java/com/adyen/model/terminal/BarcodeType.java
deleted file mode 100644
index b1a03df29..000000000
--- a/src/main/java/com/adyen/model/terminal/BarcodeType.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Adyen Terminal API
- *
- * The version of the OpenAPI document: 1
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package com.adyen.model.terminal;
-
-import java.util.Objects;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.HashMap;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
-
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonValue;
-
-/**
- * Gets or Sets BarcodeType
- */
-public enum BarcodeType {
-
- CODE128("Code128"),
-
- CODE25("Code25"),
-
- EAN13("EAN13"),
-
- EAN8("EAN8"),
-
- PDF417("PDF417"),
-
- QRCODE("QRCode"),
-
- UPCA("UPCA");
-
- private String value;
-
- BarcodeType(String value) {
- this.value = value;
- }
-
- @JsonValue
- public String getValue() {
- return value;
- }
-
- @Override
- public String toString() {
- return String.valueOf(value);
- }
-
- @JsonCreator
- public static BarcodeType fromValue(String value) {
- for (BarcodeType b : BarcodeType.values()) {
- if (b.value.equals(value)) {
- return b;
- }
- }
- throw new IllegalArgumentException("Unexpected value '" + value + "'");
- }
-}
-
diff --git a/src/main/java/com/adyen/model/terminal/CapturedSignature.java b/src/main/java/com/adyen/model/terminal/CapturedSignature.java
deleted file mode 100644
index ab2c4e698..000000000
--- a/src/main/java/com/adyen/model/terminal/CapturedSignature.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Adyen Terminal API
- *
- * The version of the OpenAPI document: 1
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package com.adyen.model.terminal;
-
-import java.util.Objects;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.HashMap;
-import com.adyen.model.terminal.AreaSize;
-import com.adyen.model.terminal.Point;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.annotation.JsonValue;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import java.util.ArrayList;
-import java.util.List;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
-
-/**
- * CapturedSignature
- */
-@JsonPropertyOrder({
- CapturedSignature.JSON_PROPERTY_AREA_SIZE,
- CapturedSignature.JSON_PROPERTY_SIGNATURE_POINT
-})
-
-public class CapturedSignature {
- public static final String JSON_PROPERTY_AREA_SIZE = "AreaSize";
- private AreaSize areaSize;
-
- public static final String JSON_PROPERTY_SIGNATURE_POINT = "SignaturePoint";
- private List signaturePoint = null;
-
- public CapturedSignature() {
- }
-
- public CapturedSignature areaSize(AreaSize areaSize) {
- this.areaSize = areaSize;
- return this;
- }
-
- /**
- * Get areaSize
- * @return areaSize
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_AREA_SIZE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public AreaSize getAreaSize() {
- return areaSize;
- }
-
-
- /**
- * areaSize
- *
- * @param areaSize
- */
- @JsonProperty(JSON_PROPERTY_AREA_SIZE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setAreaSize(AreaSize areaSize) {
- this.areaSize = areaSize;
- }
-
-
- public CapturedSignature signaturePoint(List signaturePoint) {
- this.signaturePoint = signaturePoint;
- return this;
- }
-
- public CapturedSignature addSignaturePointItem(Point signaturePointItem) {
- if (this.signaturePoint == null) {
- this.signaturePoint = new ArrayList<>();
- }
- this.signaturePoint.add(signaturePointItem);
- return this;
- }
-
- /**
- * Get signaturePoint
- * @return signaturePoint
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_SIGNATURE_POINT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public List getSignaturePoint() {
- return signaturePoint;
- }
-
-
- /**
- * signaturePoint
- *
- * @param signaturePoint
- */
- @JsonProperty(JSON_PROPERTY_SIGNATURE_POINT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setSignaturePoint(List signaturePoint) {
- this.signaturePoint = signaturePoint;
- }
-
-
- /**
- * Return true if this CapturedSignature object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- CapturedSignature capturedSignature = (CapturedSignature) o;
- return Objects.equals(this.areaSize, capturedSignature.areaSize) &&
- Objects.equals(this.signaturePoint, capturedSignature.signaturePoint);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(areaSize, signaturePoint);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class CapturedSignature {\n");
- sb.append(" areaSize: ").append(toIndentedString(areaSize)).append("\n");
- sb.append(" signaturePoint: ").append(toIndentedString(signaturePoint)).append("\n");
- sb.append("}");
- return sb.toString();
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-
-/**
- * Create an instance of CapturedSignature given an JSON string
- *
- * @param jsonString JSON string
- * @return An instance of CapturedSignature
- * @throws JsonProcessingException if the JSON string is invalid with respect to CapturedSignature
- */
- public static CapturedSignature fromJson(String jsonString) throws JsonProcessingException {
- return JSON.getMapper().readValue(jsonString, CapturedSignature.class);
- }
-/**
- * Convert an instance of CapturedSignature to an JSON string
- *
- * @return JSON string
- */
- public String toJson() throws JsonProcessingException {
- return JSON.getMapper().writeValueAsString(this);
- }
-}
-
diff --git a/src/main/java/com/adyen/model/terminal/CardAcquisitionRequest.java b/src/main/java/com/adyen/model/terminal/CardAcquisitionRequest.java
deleted file mode 100644
index 9a9aae29d..000000000
--- a/src/main/java/com/adyen/model/terminal/CardAcquisitionRequest.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Adyen Terminal API
- *
- * The version of the OpenAPI document: 1
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package com.adyen.model.terminal;
-
-import java.util.Objects;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.HashMap;
-import com.adyen.model.terminal.CardAcquisitionTransaction;
-import com.adyen.model.terminal.SaleData;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.annotation.JsonValue;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
-
-/**
- * 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.
- */
-@ApiModel(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.")
-@JsonPropertyOrder({
- CardAcquisitionRequest.JSON_PROPERTY_SALE_DATA,
- CardAcquisitionRequest.JSON_PROPERTY_CARD_ACQUISITION_TRANSACTION
-})
-
-public class CardAcquisitionRequest {
- public static final String JSON_PROPERTY_SALE_DATA = "SaleData";
- private SaleData saleData;
-
- public static final String JSON_PROPERTY_CARD_ACQUISITION_TRANSACTION = "CardAcquisitionTransaction";
- private CardAcquisitionTransaction cardAcquisitionTransaction;
-
- public CardAcquisitionRequest() {
- }
-
- public CardAcquisitionRequest saleData(SaleData saleData) {
- this.saleData = saleData;
- return this;
- }
-
- /**
- * Get saleData
- * @return saleData
- **/
- @ApiModelProperty(required = true, value = "")
- @JsonProperty(JSON_PROPERTY_SALE_DATA)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public SaleData getSaleData() {
- return saleData;
- }
-
-
- /**
- * saleData
- *
- * @param saleData
- */
- @JsonProperty(JSON_PROPERTY_SALE_DATA)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setSaleData(SaleData saleData) {
- this.saleData = saleData;
- }
-
-
- public CardAcquisitionRequest cardAcquisitionTransaction(CardAcquisitionTransaction cardAcquisitionTransaction) {
- this.cardAcquisitionTransaction = cardAcquisitionTransaction;
- return this;
- }
-
- /**
- * Get cardAcquisitionTransaction
- * @return cardAcquisitionTransaction
- **/
- @ApiModelProperty(required = true, value = "")
- @JsonProperty(JSON_PROPERTY_CARD_ACQUISITION_TRANSACTION)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public CardAcquisitionTransaction getCardAcquisitionTransaction() {
- return cardAcquisitionTransaction;
- }
-
-
- /**
- * cardAcquisitionTransaction
- *
- * @param cardAcquisitionTransaction
- */
- @JsonProperty(JSON_PROPERTY_CARD_ACQUISITION_TRANSACTION)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setCardAcquisitionTransaction(CardAcquisitionTransaction cardAcquisitionTransaction) {
- this.cardAcquisitionTransaction = cardAcquisitionTransaction;
- }
-
-
- /**
- * Return true if this CardAcquisitionRequest object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- CardAcquisitionRequest cardAcquisitionRequest = (CardAcquisitionRequest) o;
- return Objects.equals(this.saleData, cardAcquisitionRequest.saleData) &&
- Objects.equals(this.cardAcquisitionTransaction, cardAcquisitionRequest.cardAcquisitionTransaction);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(saleData, cardAcquisitionTransaction);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class CardAcquisitionRequest {\n");
- sb.append(" saleData: ").append(toIndentedString(saleData)).append("\n");
- sb.append(" cardAcquisitionTransaction: ").append(toIndentedString(cardAcquisitionTransaction)).append("\n");
- sb.append("}");
- return sb.toString();
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-
-/**
- * Create an instance of CardAcquisitionRequest given an JSON string
- *
- * @param jsonString JSON string
- * @return An instance of CardAcquisitionRequest
- * @throws JsonProcessingException if the JSON string is invalid with respect to CardAcquisitionRequest
- */
- public static CardAcquisitionRequest fromJson(String jsonString) throws JsonProcessingException {
- return JSON.getMapper().readValue(jsonString, CardAcquisitionRequest.class);
- }
-/**
- * Convert an instance of CardAcquisitionRequest to an JSON string
- *
- * @return JSON string
- */
- public String toJson() throws JsonProcessingException {
- return JSON.getMapper().writeValueAsString(this);
- }
-}
-
diff --git a/src/main/java/com/adyen/model/terminal/CardAcquisitionResponse.java b/src/main/java/com/adyen/model/terminal/CardAcquisitionResponse.java
deleted file mode 100644
index 8cca01cd4..000000000
--- a/src/main/java/com/adyen/model/terminal/CardAcquisitionResponse.java
+++ /dev/null
@@ -1,373 +0,0 @@
-/*
- * Adyen Terminal API
- *
- * The version of the OpenAPI document: 1
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package com.adyen.model.terminal;
-
-import java.util.Objects;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.HashMap;
-import com.adyen.model.terminal.LoyaltyAccount;
-import com.adyen.model.terminal.POIData;
-import com.adyen.model.terminal.PaymentInstrumentData;
-import com.adyen.model.terminal.Response;
-import com.adyen.model.terminal.SaleData;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.annotation.JsonValue;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import java.util.ArrayList;
-import java.util.List;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
-
-/**
- * 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.
- */
-@ApiModel(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.")
-@JsonPropertyOrder({
- CardAcquisitionResponse.JSON_PROPERTY_RESPONSE,
- CardAcquisitionResponse.JSON_PROPERTY_SALE_DATA,
- CardAcquisitionResponse.JSON_PROPERTY_PO_I_DATA,
- CardAcquisitionResponse.JSON_PROPERTY_CUSTOMER_LANGUAGE,
- CardAcquisitionResponse.JSON_PROPERTY_PAYMENT_BRAND,
- CardAcquisitionResponse.JSON_PROPERTY_PAYMENT_INSTRUMENT_DATA,
- CardAcquisitionResponse.JSON_PROPERTY_LOYALTY_ACCOUNT
-})
-
-public class CardAcquisitionResponse {
- public static final String JSON_PROPERTY_RESPONSE = "Response";
- private Response response;
-
- public static final String JSON_PROPERTY_SALE_DATA = "SaleData";
- private SaleData saleData;
-
- public static final String JSON_PROPERTY_PO_I_DATA = "POIData";
- private POIData poIData;
-
- public static final String JSON_PROPERTY_CUSTOMER_LANGUAGE = "CustomerLanguage";
- private String customerLanguage;
-
- public static final String JSON_PROPERTY_PAYMENT_BRAND = "PaymentBrand";
- private List paymentBrand = null;
-
- public static final String JSON_PROPERTY_PAYMENT_INSTRUMENT_DATA = "PaymentInstrumentData";
- private PaymentInstrumentData paymentInstrumentData;
-
- public static final String JSON_PROPERTY_LOYALTY_ACCOUNT = "LoyaltyAccount";
- private List loyaltyAccount = null;
-
- public CardAcquisitionResponse() {
- }
-
- public CardAcquisitionResponse response(Response response) {
- this.response = response;
- return this;
- }
-
- /**
- * Get response
- * @return response
- **/
- @ApiModelProperty(required = true, value = "")
- @JsonProperty(JSON_PROPERTY_RESPONSE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Response getResponse() {
- return response;
- }
-
-
- /**
- * response
- *
- * @param response
- */
- @JsonProperty(JSON_PROPERTY_RESPONSE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setResponse(Response response) {
- this.response = response;
- }
-
-
- public CardAcquisitionResponse saleData(SaleData saleData) {
- this.saleData = saleData;
- return this;
- }
-
- /**
- * Get saleData
- * @return saleData
- **/
- @ApiModelProperty(required = true, value = "")
- @JsonProperty(JSON_PROPERTY_SALE_DATA)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public SaleData getSaleData() {
- return saleData;
- }
-
-
- /**
- * saleData
- *
- * @param saleData
- */
- @JsonProperty(JSON_PROPERTY_SALE_DATA)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setSaleData(SaleData saleData) {
- this.saleData = saleData;
- }
-
-
- public CardAcquisitionResponse poIData(POIData poIData) {
- this.poIData = poIData;
- return this;
- }
-
- /**
- * Get poIData
- * @return poIData
- **/
- @ApiModelProperty(required = true, value = "")
- @JsonProperty(JSON_PROPERTY_PO_I_DATA)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public POIData getPoIData() {
- return poIData;
- }
-
-
- /**
- * poIData
- *
- * @param poIData
- */
- @JsonProperty(JSON_PROPERTY_PO_I_DATA)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setPoIData(POIData poIData) {
- this.poIData = poIData;
- }
-
-
- public CardAcquisitionResponse customerLanguage(String customerLanguage) {
- this.customerLanguage = customerLanguage;
- return this;
- }
-
- /**
- * Data related to the POI System.
- * @return customerLanguage
- **/
- @ApiModelProperty(value = "Data related to the POI System.")
- @JsonProperty(JSON_PROPERTY_CUSTOMER_LANGUAGE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getCustomerLanguage() {
- return customerLanguage;
- }
-
-
- /**
- * Data related to the POI System.
- *
- * @param customerLanguage
- */
- @JsonProperty(JSON_PROPERTY_CUSTOMER_LANGUAGE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setCustomerLanguage(String customerLanguage) {
- this.customerLanguage = customerLanguage;
- }
-
-
- public CardAcquisitionResponse paymentBrand(List paymentBrand) {
- this.paymentBrand = paymentBrand;
- return this;
- }
-
- public CardAcquisitionResponse addPaymentBrandItem(String paymentBrandItem) {
- if (this.paymentBrand == null) {
- this.paymentBrand = new ArrayList<>();
- }
- this.paymentBrand.add(paymentBrandItem);
- return this;
- }
-
- /**
- * Get paymentBrand
- * @return paymentBrand
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_PAYMENT_BRAND)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public List getPaymentBrand() {
- return paymentBrand;
- }
-
-
- /**
- * paymentBrand
- *
- * @param paymentBrand
- */
- @JsonProperty(JSON_PROPERTY_PAYMENT_BRAND)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setPaymentBrand(List paymentBrand) {
- this.paymentBrand = paymentBrand;
- }
-
-
- public CardAcquisitionResponse paymentInstrumentData(PaymentInstrumentData paymentInstrumentData) {
- this.paymentInstrumentData = paymentInstrumentData;
- return this;
- }
-
- /**
- * Get paymentInstrumentData
- * @return paymentInstrumentData
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_PAYMENT_INSTRUMENT_DATA)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public PaymentInstrumentData getPaymentInstrumentData() {
- return paymentInstrumentData;
- }
-
-
- /**
- * paymentInstrumentData
- *
- * @param paymentInstrumentData
- */
- @JsonProperty(JSON_PROPERTY_PAYMENT_INSTRUMENT_DATA)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setPaymentInstrumentData(PaymentInstrumentData paymentInstrumentData) {
- this.paymentInstrumentData = paymentInstrumentData;
- }
-
-
- public CardAcquisitionResponse loyaltyAccount(List loyaltyAccount) {
- this.loyaltyAccount = loyaltyAccount;
- return this;
- }
-
- public CardAcquisitionResponse addLoyaltyAccountItem(LoyaltyAccount loyaltyAccountItem) {
- if (this.loyaltyAccount == null) {
- this.loyaltyAccount = new ArrayList<>();
- }
- this.loyaltyAccount.add(loyaltyAccountItem);
- return this;
- }
-
- /**
- * Get loyaltyAccount
- * @return loyaltyAccount
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_LOYALTY_ACCOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public List getLoyaltyAccount() {
- return loyaltyAccount;
- }
-
-
- /**
- * loyaltyAccount
- *
- * @param loyaltyAccount
- */
- @JsonProperty(JSON_PROPERTY_LOYALTY_ACCOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setLoyaltyAccount(List loyaltyAccount) {
- this.loyaltyAccount = loyaltyAccount;
- }
-
-
- /**
- * Return true if this CardAcquisitionResponse object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- CardAcquisitionResponse cardAcquisitionResponse = (CardAcquisitionResponse) o;
- return Objects.equals(this.response, cardAcquisitionResponse.response) &&
- Objects.equals(this.saleData, cardAcquisitionResponse.saleData) &&
- Objects.equals(this.poIData, cardAcquisitionResponse.poIData) &&
- Objects.equals(this.customerLanguage, cardAcquisitionResponse.customerLanguage) &&
- Objects.equals(this.paymentBrand, cardAcquisitionResponse.paymentBrand) &&
- Objects.equals(this.paymentInstrumentData, cardAcquisitionResponse.paymentInstrumentData) &&
- Objects.equals(this.loyaltyAccount, cardAcquisitionResponse.loyaltyAccount);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(response, saleData, poIData, customerLanguage, paymentBrand, paymentInstrumentData, loyaltyAccount);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class CardAcquisitionResponse {\n");
- sb.append(" response: ").append(toIndentedString(response)).append("\n");
- sb.append(" saleData: ").append(toIndentedString(saleData)).append("\n");
- sb.append(" poIData: ").append(toIndentedString(poIData)).append("\n");
- sb.append(" customerLanguage: ").append(toIndentedString(customerLanguage)).append("\n");
- sb.append(" paymentBrand: ").append(toIndentedString(paymentBrand)).append("\n");
- sb.append(" paymentInstrumentData: ").append(toIndentedString(paymentInstrumentData)).append("\n");
- sb.append(" loyaltyAccount: ").append(toIndentedString(loyaltyAccount)).append("\n");
- sb.append("}");
- return sb.toString();
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-
-/**
- * Create an instance of CardAcquisitionResponse given an JSON string
- *
- * @param jsonString JSON string
- * @return An instance of CardAcquisitionResponse
- * @throws JsonProcessingException if the JSON string is invalid with respect to CardAcquisitionResponse
- */
- public static CardAcquisitionResponse fromJson(String jsonString) throws JsonProcessingException {
- return JSON.getMapper().readValue(jsonString, CardAcquisitionResponse.class);
- }
-/**
- * Convert an instance of CardAcquisitionResponse to an JSON string
- *
- * @return JSON string
- */
- public String toJson() throws JsonProcessingException {
- return JSON.getMapper().writeValueAsString(this);
- }
-}
-
diff --git a/src/main/java/com/adyen/model/terminal/CardAcquisitionTransaction.java b/src/main/java/com/adyen/model/terminal/CardAcquisitionTransaction.java
deleted file mode 100644
index c24e1f6dc..000000000
--- a/src/main/java/com/adyen/model/terminal/CardAcquisitionTransaction.java
+++ /dev/null
@@ -1,505 +0,0 @@
-/*
- * Adyen Terminal API
- *
- * The version of the OpenAPI document: 1
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package com.adyen.model.terminal;
-
-import java.util.Objects;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.HashMap;
-import com.adyen.model.terminal.LoyaltyHandling;
-import com.adyen.model.terminal.PaymentType;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.annotation.JsonValue;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.List;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
-
-/**
- * CardAcquisitionTransaction
- */
-@JsonPropertyOrder({
- CardAcquisitionTransaction.JSON_PROPERTY_ALLOWED_PAYMENT_BRAND,
- CardAcquisitionTransaction.JSON_PROPERTY_ALLOWED_LOYALTY_BRAND,
- CardAcquisitionTransaction.JSON_PROPERTY_LOYALTY_HANDLING,
- CardAcquisitionTransaction.JSON_PROPERTY_CUSTOMER_LANGUAGE,
- CardAcquisitionTransaction.JSON_PROPERTY_FORCE_ENTRY_MODE,
- CardAcquisitionTransaction.JSON_PROPERTY_FORCE_CUSTOMER_SELECTION_FLAG,
- CardAcquisitionTransaction.JSON_PROPERTY_TOTAL_AMOUNT,
- CardAcquisitionTransaction.JSON_PROPERTY_PAYMENT_TYPE,
- CardAcquisitionTransaction.JSON_PROPERTY_CASH_BACK_FLAG
-})
-
-public class CardAcquisitionTransaction {
- public static final String JSON_PROPERTY_ALLOWED_PAYMENT_BRAND = "AllowedPaymentBrand";
- private List allowedPaymentBrand = null;
-
- public static final String JSON_PROPERTY_ALLOWED_LOYALTY_BRAND = "AllowedLoyaltyBrand";
- private List allowedLoyaltyBrand = null;
-
- public static final String JSON_PROPERTY_LOYALTY_HANDLING = "LoyaltyHandling";
- private LoyaltyHandling loyaltyHandling;
-
- public static final String JSON_PROPERTY_CUSTOMER_LANGUAGE = "CustomerLanguage";
- private String customerLanguage;
-
- /**
- * Gets or Sets forceEntryMode
- */
- public enum ForceEntryModeEnum {
- CHECKREADER("CheckReader"),
-
- CONTACTLESS("Contactless"),
-
- FILE("File"),
-
- ICC("ICC"),
-
- KEYED("Keyed"),
-
- MAGSTRIPE("MagStripe"),
-
- MANUAL("Manual"),
-
- RFID("RFID"),
-
- SCANNED("Scanned"),
-
- SYNCHRONOUSICC("SynchronousICC"),
-
- TAPPED("Tapped");
-
- private String value;
-
- ForceEntryModeEnum(String value) {
- this.value = value;
- }
-
- @JsonValue
- public String getValue() {
- return value;
- }
-
- @Override
- public String toString() {
- return String.valueOf(value);
- }
-
- @JsonCreator
- public static ForceEntryModeEnum fromValue(String value) {
- for (ForceEntryModeEnum b : ForceEntryModeEnum.values()) {
- if (b.value.equals(value)) {
- return b;
- }
- }
- throw new IllegalArgumentException("Unexpected value '" + value + "'");
- }
- }
-
- public static final String JSON_PROPERTY_FORCE_ENTRY_MODE = "ForceEntryMode";
- private List forceEntryMode = null;
-
- public static final String JSON_PROPERTY_FORCE_CUSTOMER_SELECTION_FLAG = "ForceCustomerSelectionFlag";
- private Boolean forceCustomerSelectionFlag;
-
- public static final String JSON_PROPERTY_TOTAL_AMOUNT = "TotalAmount";
- private BigDecimal totalAmount;
-
- public static final String JSON_PROPERTY_PAYMENT_TYPE = "PaymentType";
- private PaymentType paymentType;
-
- public static final String JSON_PROPERTY_CASH_BACK_FLAG = "CashBackFlag";
- private Boolean cashBackFlag;
-
- public CardAcquisitionTransaction() {
- }
-
- public CardAcquisitionTransaction allowedPaymentBrand(List allowedPaymentBrand) {
- this.allowedPaymentBrand = allowedPaymentBrand;
- return this;
- }
-
- public CardAcquisitionTransaction addAllowedPaymentBrandItem(String allowedPaymentBrandItem) {
- if (this.allowedPaymentBrand == null) {
- this.allowedPaymentBrand = new ArrayList<>();
- }
- this.allowedPaymentBrand.add(allowedPaymentBrandItem);
- return this;
- }
-
- /**
- * Get allowedPaymentBrand
- * @return allowedPaymentBrand
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_ALLOWED_PAYMENT_BRAND)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public List getAllowedPaymentBrand() {
- return allowedPaymentBrand;
- }
-
-
- /**
- * allowedPaymentBrand
- *
- * @param allowedPaymentBrand
- */
- @JsonProperty(JSON_PROPERTY_ALLOWED_PAYMENT_BRAND)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setAllowedPaymentBrand(List allowedPaymentBrand) {
- this.allowedPaymentBrand = allowedPaymentBrand;
- }
-
-
- public CardAcquisitionTransaction allowedLoyaltyBrand(List allowedLoyaltyBrand) {
- this.allowedLoyaltyBrand = allowedLoyaltyBrand;
- return this;
- }
-
- public CardAcquisitionTransaction addAllowedLoyaltyBrandItem(String allowedLoyaltyBrandItem) {
- if (this.allowedLoyaltyBrand == null) {
- this.allowedLoyaltyBrand = new ArrayList<>();
- }
- this.allowedLoyaltyBrand.add(allowedLoyaltyBrandItem);
- return this;
- }
-
- /**
- * Get allowedLoyaltyBrand
- * @return allowedLoyaltyBrand
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_ALLOWED_LOYALTY_BRAND)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public List getAllowedLoyaltyBrand() {
- return allowedLoyaltyBrand;
- }
-
-
- /**
- * allowedLoyaltyBrand
- *
- * @param allowedLoyaltyBrand
- */
- @JsonProperty(JSON_PROPERTY_ALLOWED_LOYALTY_BRAND)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setAllowedLoyaltyBrand(List allowedLoyaltyBrand) {
- this.allowedLoyaltyBrand = allowedLoyaltyBrand;
- }
-
-
- public CardAcquisitionTransaction loyaltyHandling(LoyaltyHandling loyaltyHandling) {
- this.loyaltyHandling = loyaltyHandling;
- return this;
- }
-
- /**
- * Get loyaltyHandling
- * @return loyaltyHandling
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_LOYALTY_HANDLING)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public LoyaltyHandling getLoyaltyHandling() {
- return loyaltyHandling;
- }
-
-
- /**
- * loyaltyHandling
- *
- * @param loyaltyHandling
- */
- @JsonProperty(JSON_PROPERTY_LOYALTY_HANDLING)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setLoyaltyHandling(LoyaltyHandling loyaltyHandling) {
- this.loyaltyHandling = loyaltyHandling;
- }
-
-
- public CardAcquisitionTransaction customerLanguage(String customerLanguage) {
- this.customerLanguage = customerLanguage;
- return this;
- }
-
- /**
- * Get customerLanguage
- * @return customerLanguage
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_CUSTOMER_LANGUAGE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getCustomerLanguage() {
- return customerLanguage;
- }
-
-
- /**
- * customerLanguage
- *
- * @param customerLanguage
- */
- @JsonProperty(JSON_PROPERTY_CUSTOMER_LANGUAGE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setCustomerLanguage(String customerLanguage) {
- this.customerLanguage = customerLanguage;
- }
-
-
- public CardAcquisitionTransaction forceEntryMode(List forceEntryMode) {
- this.forceEntryMode = forceEntryMode;
- return this;
- }
-
- public CardAcquisitionTransaction addForceEntryModeItem(ForceEntryModeEnum forceEntryModeItem) {
- if (this.forceEntryMode == null) {
- this.forceEntryMode = new ArrayList<>();
- }
- this.forceEntryMode.add(forceEntryModeItem);
- return this;
- }
-
- /**
- * Get forceEntryMode
- * @return forceEntryMode
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_FORCE_ENTRY_MODE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public List getForceEntryMode() {
- return forceEntryMode;
- }
-
-
- /**
- * forceEntryMode
- *
- * @param forceEntryMode
- */
- @JsonProperty(JSON_PROPERTY_FORCE_ENTRY_MODE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setForceEntryMode(List forceEntryMode) {
- this.forceEntryMode = forceEntryMode;
- }
-
-
- public CardAcquisitionTransaction forceCustomerSelectionFlag(Boolean forceCustomerSelectionFlag) {
- this.forceCustomerSelectionFlag = forceCustomerSelectionFlag;
- return this;
- }
-
- /**
- * Get forceCustomerSelectionFlag
- * @return forceCustomerSelectionFlag
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_FORCE_CUSTOMER_SELECTION_FLAG)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Boolean getForceCustomerSelectionFlag() {
- return forceCustomerSelectionFlag;
- }
-
-
- /**
- * forceCustomerSelectionFlag
- *
- * @param forceCustomerSelectionFlag
- */
- @JsonProperty(JSON_PROPERTY_FORCE_CUSTOMER_SELECTION_FLAG)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setForceCustomerSelectionFlag(Boolean forceCustomerSelectionFlag) {
- this.forceCustomerSelectionFlag = forceCustomerSelectionFlag;
- }
-
-
- public CardAcquisitionTransaction totalAmount(BigDecimal totalAmount) {
- this.totalAmount = totalAmount;
- return this;
- }
-
- /**
- * Get totalAmount
- * minimum: 0.0
- * maximum: 99999999.999999
- * @return totalAmount
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_TOTAL_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public BigDecimal getTotalAmount() {
- return totalAmount;
- }
-
-
- /**
- * totalAmount
- *
- * @param totalAmount
- */
- @JsonProperty(JSON_PROPERTY_TOTAL_AMOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setTotalAmount(BigDecimal totalAmount) {
- this.totalAmount = totalAmount;
- }
-
-
- public CardAcquisitionTransaction paymentType(PaymentType paymentType) {
- this.paymentType = paymentType;
- return this;
- }
-
- /**
- * Get paymentType
- * @return paymentType
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_PAYMENT_TYPE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public PaymentType getPaymentType() {
- return paymentType;
- }
-
-
- /**
- * paymentType
- *
- * @param paymentType
- */
- @JsonProperty(JSON_PROPERTY_PAYMENT_TYPE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setPaymentType(PaymentType paymentType) {
- this.paymentType = paymentType;
- }
-
-
- public CardAcquisitionTransaction cashBackFlag(Boolean cashBackFlag) {
- this.cashBackFlag = cashBackFlag;
- return this;
- }
-
- /**
- * Get cashBackFlag
- * @return cashBackFlag
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_CASH_BACK_FLAG)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Boolean getCashBackFlag() {
- return cashBackFlag;
- }
-
-
- /**
- * cashBackFlag
- *
- * @param cashBackFlag
- */
- @JsonProperty(JSON_PROPERTY_CASH_BACK_FLAG)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setCashBackFlag(Boolean cashBackFlag) {
- this.cashBackFlag = cashBackFlag;
- }
-
-
- /**
- * Return true if this CardAcquisitionTransaction object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- CardAcquisitionTransaction cardAcquisitionTransaction = (CardAcquisitionTransaction) o;
- return Objects.equals(this.allowedPaymentBrand, cardAcquisitionTransaction.allowedPaymentBrand) &&
- Objects.equals(this.allowedLoyaltyBrand, cardAcquisitionTransaction.allowedLoyaltyBrand) &&
- Objects.equals(this.loyaltyHandling, cardAcquisitionTransaction.loyaltyHandling) &&
- Objects.equals(this.customerLanguage, cardAcquisitionTransaction.customerLanguage) &&
- Objects.equals(this.forceEntryMode, cardAcquisitionTransaction.forceEntryMode) &&
- Objects.equals(this.forceCustomerSelectionFlag, cardAcquisitionTransaction.forceCustomerSelectionFlag) &&
- Objects.equals(this.totalAmount, cardAcquisitionTransaction.totalAmount) &&
- Objects.equals(this.paymentType, cardAcquisitionTransaction.paymentType) &&
- Objects.equals(this.cashBackFlag, cardAcquisitionTransaction.cashBackFlag);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(allowedPaymentBrand, allowedLoyaltyBrand, loyaltyHandling, customerLanguage, forceEntryMode, forceCustomerSelectionFlag, totalAmount, paymentType, cashBackFlag);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class CardAcquisitionTransaction {\n");
- sb.append(" allowedPaymentBrand: ").append(toIndentedString(allowedPaymentBrand)).append("\n");
- sb.append(" allowedLoyaltyBrand: ").append(toIndentedString(allowedLoyaltyBrand)).append("\n");
- sb.append(" loyaltyHandling: ").append(toIndentedString(loyaltyHandling)).append("\n");
- sb.append(" customerLanguage: ").append(toIndentedString(customerLanguage)).append("\n");
- sb.append(" forceEntryMode: ").append(toIndentedString(forceEntryMode)).append("\n");
- sb.append(" forceCustomerSelectionFlag: ").append(toIndentedString(forceCustomerSelectionFlag)).append("\n");
- sb.append(" totalAmount: ").append(toIndentedString(totalAmount)).append("\n");
- sb.append(" paymentType: ").append(toIndentedString(paymentType)).append("\n");
- sb.append(" cashBackFlag: ").append(toIndentedString(cashBackFlag)).append("\n");
- sb.append("}");
- return sb.toString();
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-
-/**
- * Create an instance of CardAcquisitionTransaction given an JSON string
- *
- * @param jsonString JSON string
- * @return An instance of CardAcquisitionTransaction
- * @throws JsonProcessingException if the JSON string is invalid with respect to CardAcquisitionTransaction
- */
- public static CardAcquisitionTransaction fromJson(String jsonString) throws JsonProcessingException {
- return JSON.getMapper().readValue(jsonString, CardAcquisitionTransaction.class);
- }
-/**
- * Convert an instance of CardAcquisitionTransaction to an JSON string
- *
- * @return JSON string
- */
- public String toJson() throws JsonProcessingException {
- return JSON.getMapper().writeValueAsString(this);
- }
-}
-
diff --git a/src/main/java/com/adyen/model/terminal/CardData.java b/src/main/java/com/adyen/model/terminal/CardData.java
deleted file mode 100644
index ac55a0161..000000000
--- a/src/main/java/com/adyen/model/terminal/CardData.java
+++ /dev/null
@@ -1,587 +0,0 @@
-/*
- * Adyen Terminal API
- *
- * The version of the OpenAPI document: 1
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package com.adyen.model.terminal;
-
-import java.util.Objects;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.HashMap;
-import com.adyen.model.terminal.AllowedProduct;
-import com.adyen.model.terminal.CustomerOrder;
-import com.adyen.model.terminal.PaymentToken;
-import com.adyen.model.terminal.SensitiveCardData;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.annotation.JsonValue;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import java.util.ArrayList;
-import java.util.List;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
-
-/**
- * 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.
- */
-@ApiModel(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.")
-@JsonPropertyOrder({
- CardData.JSON_PROPERTY_PAYMENT_BRAND,
- CardData.JSON_PROPERTY_MASKED_PAN,
- CardData.JSON_PROPERTY_PAYMENT_ACCOUNT_REF,
- CardData.JSON_PROPERTY_ENTRY_MODE,
- CardData.JSON_PROPERTY_CARD_COUNTRY_CODE,
- CardData.JSON_PROPERTY_PROTECTED_CARD_DATA,
- CardData.JSON_PROPERTY_SENSITIVE_CARD_DATA,
- CardData.JSON_PROPERTY_ALLOWED_PRODUCT_CODE,
- CardData.JSON_PROPERTY_ALLOWED_PRODUCT,
- CardData.JSON_PROPERTY_PAYMENT_TOKEN,
- CardData.JSON_PROPERTY_CUSTOMER_ORDER
-})
-
-public class CardData {
- public static final String JSON_PROPERTY_PAYMENT_BRAND = "PaymentBrand";
- private String paymentBrand;
-
- public static final String JSON_PROPERTY_MASKED_PAN = "MaskedPan";
- private String maskedPan;
-
- public static final String JSON_PROPERTY_PAYMENT_ACCOUNT_REF = "PaymentAccountRef";
- private String paymentAccountRef;
-
- /**
- * Gets or Sets entryMode
- */
- public enum EntryModeEnum {
- CONTACTLESS("Contactless"),
-
- FILE("File"),
-
- ICC("ICC"),
-
- KEYED("Keyed"),
-
- MAGSTRIPE("MagStripe"),
-
- MANUAL("Manual"),
-
- MOBILE("Mobile"),
-
- RFID("RFID"),
-
- SCANNED("Scanned"),
-
- SYNCHRONOUSICC("SynchronousICC"),
-
- TAPPED("Tapped");
-
- private String value;
-
- EntryModeEnum(String value) {
- this.value = value;
- }
-
- @JsonValue
- public String getValue() {
- return value;
- }
-
- @Override
- public String toString() {
- return String.valueOf(value);
- }
-
- @JsonCreator
- public static EntryModeEnum fromValue(String value) {
- for (EntryModeEnum b : EntryModeEnum.values()) {
- if (b.value.equals(value)) {
- return b;
- }
- }
- throw new IllegalArgumentException("Unexpected value '" + value + "'");
- }
- }
-
- public static final String JSON_PROPERTY_ENTRY_MODE = "EntryMode";
- private List entryMode = null;
-
- public static final String JSON_PROPERTY_CARD_COUNTRY_CODE = "CardCountryCode";
- private Integer cardCountryCode;
-
- public static final String JSON_PROPERTY_PROTECTED_CARD_DATA = "ProtectedCardData";
- private String protectedCardData;
-
- public static final String JSON_PROPERTY_SENSITIVE_CARD_DATA = "SensitiveCardData";
- private SensitiveCardData sensitiveCardData;
-
- public static final String JSON_PROPERTY_ALLOWED_PRODUCT_CODE = "AllowedProductCode";
- private List allowedProductCode = null;
-
- public static final String JSON_PROPERTY_ALLOWED_PRODUCT = "AllowedProduct";
- private List allowedProduct = null;
-
- public static final String JSON_PROPERTY_PAYMENT_TOKEN = "PaymentToken";
- private PaymentToken paymentToken;
-
- public static final String JSON_PROPERTY_CUSTOMER_ORDER = "CustomerOrder";
- private List customerOrder = null;
-
- public CardData() {
- }
-
- public CardData paymentBrand(String paymentBrand) {
- this.paymentBrand = paymentBrand;
- return this;
- }
-
- /**
- * If card PAN is readable .
- * @return paymentBrand
- **/
- @ApiModelProperty(value = "If card PAN is readable .")
- @JsonProperty(JSON_PROPERTY_PAYMENT_BRAND)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getPaymentBrand() {
- return paymentBrand;
- }
-
-
- /**
- * If card PAN is readable .
- *
- * @param paymentBrand
- */
- @JsonProperty(JSON_PROPERTY_PAYMENT_BRAND)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setPaymentBrand(String paymentBrand) {
- this.paymentBrand = paymentBrand;
- }
-
-
- public CardData maskedPan(String maskedPan) {
- this.maskedPan = maskedPan;
- return this;
- }
-
- /**
- * Get maskedPan
- * @return maskedPan
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_MASKED_PAN)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getMaskedPan() {
- return maskedPan;
- }
-
-
- /**
- * maskedPan
- *
- * @param maskedPan
- */
- @JsonProperty(JSON_PROPERTY_MASKED_PAN)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setMaskedPan(String maskedPan) {
- this.maskedPan = maskedPan;
- }
-
-
- public CardData paymentAccountRef(String paymentAccountRef) {
- this.paymentAccountRef = paymentAccountRef;
- return this;
- }
-
- /**
- * Get paymentAccountRef
- * @return paymentAccountRef
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_PAYMENT_ACCOUNT_REF)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getPaymentAccountRef() {
- return paymentAccountRef;
- }
-
-
- /**
- * paymentAccountRef
- *
- * @param paymentAccountRef
- */
- @JsonProperty(JSON_PROPERTY_PAYMENT_ACCOUNT_REF)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setPaymentAccountRef(String paymentAccountRef) {
- this.paymentAccountRef = paymentAccountRef;
- }
-
-
- public CardData entryMode(List entryMode) {
- this.entryMode = entryMode;
- return this;
- }
-
- public CardData addEntryModeItem(EntryModeEnum entryModeItem) {
- if (this.entryMode == null) {
- this.entryMode = new ArrayList<>();
- }
- this.entryMode.add(entryModeItem);
- return this;
- }
-
- /**
- * Get entryMode
- * @return entryMode
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_ENTRY_MODE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public List getEntryMode() {
- return entryMode;
- }
-
-
- /**
- * entryMode
- *
- * @param entryMode
- */
- @JsonProperty(JSON_PROPERTY_ENTRY_MODE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setEntryMode(List entryMode) {
- this.entryMode = entryMode;
- }
-
-
- public CardData cardCountryCode(Integer cardCountryCode) {
- this.cardCountryCode = cardCountryCode;
- return this;
- }
-
- /**
- * If available in the card.
- * minimum: 3
- * maximum: 3
- * @return cardCountryCode
- **/
- @ApiModelProperty(value = "If available in the card.")
- @JsonProperty(JSON_PROPERTY_CARD_COUNTRY_CODE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Integer getCardCountryCode() {
- return cardCountryCode;
- }
-
-
- /**
- * If available in the card.
- *
- * @param cardCountryCode
- */
- @JsonProperty(JSON_PROPERTY_CARD_COUNTRY_CODE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setCardCountryCode(Integer cardCountryCode) {
- this.cardCountryCode = cardCountryCode;
- }
-
-
- public CardData protectedCardData(String protectedCardData) {
- this.protectedCardData = protectedCardData;
- return this;
- }
-
- /**
- * SensitiveCardData protected by CMS EnvelopedData.
- * @return protectedCardData
- **/
- @ApiModelProperty(value = "SensitiveCardData protected by CMS EnvelopedData.")
- @JsonProperty(JSON_PROPERTY_PROTECTED_CARD_DATA)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getProtectedCardData() {
- return protectedCardData;
- }
-
-
- /**
- * SensitiveCardData protected by CMS EnvelopedData.
- *
- * @param protectedCardData
- */
- @JsonProperty(JSON_PROPERTY_PROTECTED_CARD_DATA)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setProtectedCardData(String protectedCardData) {
- this.protectedCardData = protectedCardData;
- }
-
-
- public CardData sensitiveCardData(SensitiveCardData sensitiveCardData) {
- this.sensitiveCardData = sensitiveCardData;
- return this;
- }
-
- /**
- * Get sensitiveCardData
- * @return sensitiveCardData
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_SENSITIVE_CARD_DATA)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public SensitiveCardData getSensitiveCardData() {
- return sensitiveCardData;
- }
-
-
- /**
- * sensitiveCardData
- *
- * @param sensitiveCardData
- */
- @JsonProperty(JSON_PROPERTY_SENSITIVE_CARD_DATA)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setSensitiveCardData(SensitiveCardData sensitiveCardData) {
- this.sensitiveCardData = sensitiveCardData;
- }
-
-
- public CardData allowedProductCode(List allowedProductCode) {
- this.allowedProductCode = allowedProductCode;
- return this;
- }
-
- public CardData addAllowedProductCodeItem(Integer allowedProductCodeItem) {
- if (this.allowedProductCode == null) {
- this.allowedProductCode = new ArrayList<>();
- }
- this.allowedProductCode.add(allowedProductCodeItem);
- return this;
- }
-
- /**
- * Get allowedProductCode
- * @return allowedProductCode
- **/
- @ApiModelProperty(value = "")
- @JsonProperty(JSON_PROPERTY_ALLOWED_PRODUCT_CODE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public List getAllowedProductCode() {
- return allowedProductCode;
- }
-
-
- /**
- * allowedProductCode
- *
- * @param allowedProductCode
- */
- @JsonProperty(JSON_PROPERTY_ALLOWED_PRODUCT_CODE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setAllowedProductCode(List