package com.banesco.infrastructure.dtos.osb;

import io.quarkus.runtime.annotations.RegisterForReflection;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlType;


@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "NetworkTrnInfo", propOrder = {
        "transactionConsecutive",
        "registerNumber",
        "originatorName",
        "operationType",
        "transactionType",
        "transactionCode",
        "transactionDate",
        "transactionTime",
        "bankId",
        "agencyCode",
        "channelId",
        "channelUserId",
        "operationExecIndicator",
        "configuredTransactionCode",
        "desc",
        "userId",
        "userType"
})
@RegisterForReflection
public class NetworkTrnInfo implements Cloneable {

    @XmlElement(name = "TransactionConsecutive")
    protected String transactionConsecutive;
    @XmlElement(name = "RegisterNumber")
    protected String registerNumber;
    @XmlElement(name = "OriginatorName")
    protected String originatorName;
    @XmlElement(name = "OperationType")
    protected String operationType;
    @XmlElement(name = "TransactionType")
    protected String transactionType;
    @XmlElement(name = "TransactionCode")
    protected String transactionCode;
    @XmlElement(name = "TransactionDate")
    protected String transactionDate;
    @XmlElement(name = "TransactionTime")
    protected String transactionTime;
    @XmlElement(name = "BankId")
    protected String bankId;
    @XmlElement(name = "AgencyCode")
    protected String agencyCode;
    @XmlElement(name = "ChannelId")
    protected String channelId;
    @XmlElement(name = "ChannelUserId")
    protected String channelUserId;
    @XmlElement(name = "OperationExecIndicator")
    protected String operationExecIndicator;
    @XmlElement(name = "ConfiguredTransactionCode")
    protected String configuredTransactionCode;
    @XmlElement(name = "Desc")
    protected String desc;
    @XmlElement(name = "UserId")
    protected String userId;
    @XmlElement(name = "UserType")
    protected String userType;

    /**
     * Gets the value of the transactionConsecutive property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getTransactionConsecutive() {
        return transactionConsecutive;
    }

    /**
     * Sets the value of the transactionConsecutive property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setTransactionConsecutive(String value) {
        this.transactionConsecutive = value;
    }

    /**
     * Gets the value of the registerNumber property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getRegisterNumber() {
        return registerNumber;
    }

    /**
     * Sets the value of the registerNumber property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setRegisterNumber(String value) {
        this.registerNumber = value;
    }

    /**
     * Gets the value of the originatorName property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getOriginatorName() {
        return originatorName;
    }

    /**
     * Sets the value of the originatorName property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setOriginatorName(String value) {
        this.originatorName = value;
    }

    /**
     * Gets the value of the operationType property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getOperationType() {
        return operationType;
    }

    /**
     * Sets the value of the operationType property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setOperationType(String value) {
        this.operationType = value;
    }

    /**
     * Gets the value of the transactionType property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getTransactionType() {
        return transactionType;
    }

    /**
     * Sets the value of the transactionType property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setTransactionType(String value) {
        this.transactionType = value;
    }

    /**
     * Gets the value of the transactionCode property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getTransactionCode() {
        return transactionCode;
    }

    /**
     * Sets the value of the transactionCode property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setTransactionCode(String value) {
        this.transactionCode = value;
    }

    /**
     * Gets the value of the transactionDate property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getTransactionDate() {
        return transactionDate;
    }

    /**
     * Sets the value of the transactionDate property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setTransactionDate(String value) {
        this.transactionDate = value;
    }

    /**
     * Gets the value of the transactionTime property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getTransactionTime() {
        return transactionTime;
    }

    /**
     * Sets the value of the transactionTime property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setTransactionTime(String value) {
        this.transactionTime = value;
    }

    /**
     * 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 agencyCode property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getAgencyCode() {
        return agencyCode;
    }

    /**
     * Sets the value of the agencyCode property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setAgencyCode(String value) {
        this.agencyCode = value;
    }

    /**
     * Gets the value of the channelId property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getChannelId() {
        return channelId;
    }

    /**
     * Sets the value of the channelId property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setChannelId(String value) {
        this.channelId = value;
    }

    /**
     * Gets the value of the channelUserId property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getChannelUserId() {
        return channelUserId;
    }

    /**
     * Sets the value of the channelUserId property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setChannelUserId(String value) {
        this.channelUserId = value;
    }

    /**
     * Gets the value of the operationExecIndicator property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getOperationExecIndicator() {
        return operationExecIndicator;
    }

    /**
     * Sets the value of the operationExecIndicator property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setOperationExecIndicator(String value) {
        this.operationExecIndicator = value;
    }

    /**
     * Gets the value of the configuredTransactionCode property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getConfiguredTransactionCode() {
        return configuredTransactionCode;
    }

    /**
     * Sets the value of the configuredTransactionCode property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setConfiguredTransactionCode(String value) {
        this.configuredTransactionCode = value;
    }

    /**
     * Gets the value of the desc property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getDesc() {
        return desc;
    }

    /**
     * Sets the value of the desc property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setDesc(String value) {
        this.desc = value;
    }

    /**
     * Gets the value of the userId property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getUserId() {
        return userId;
    }

    /**
     * Sets the value of the userId property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setUserId(String value) {
        this.userId = value;
    }

    /**
     * Gets the value of the userType property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getUserType() {
        return userType;
    }

    /**
     * Sets the value of the userType property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setUserType(String value) {
        this.userType = value;
    }

    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}
