package com.banesco.module.service_issue_payment_status.domain.model;

import com.banesco.common.domain.model.WorkProduct;
import com.banesco.module.banking_product.domain.model.BankingProduct;
import com.banesco.module.instruction.domain.model.Instruction;
import com.banesco.module.party.domain.model.Party;
import com.banesco.module.transaction.domain.model.Transaction;
import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;

@Getter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@RegisterForReflection
public class ServicingIssueProcedure {
    private Instruction instructionReference; // id
    private String procedureType; // typeOperation
    private BankingProduct bankingProduct; // code, name
    private Party customerReference; // identApplicant
    private Party associatedPartyReference; // identRecipient
    private Transaction transaction; // amount, currency, concept, idStatusRequest, codeStatusRequest, nameStatusRequest,
                                     // rejectionReason, dateCreate, dateModify, availabilityDate, expirationDate,
                                     // expirationTime, traceChannel, traceRef
    private WorkProduct workProduct; // idDifussion, reqQuery
}
