package io.gmss.fiscad.paylaods.response.restoration;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import io.gmss.fiscad.deserializer.LocalDateDeserializer;
import io.gmss.fiscad.enums.StatusEnquete;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;

import java.time.LocalDate;

public interface EnquetePayLoad {
    public Long getIdBackend();

    public Long getExternalKey();

    @JsonFormat(pattern = "dd-MM-yyyy")
    @JsonDeserialize(using = LocalDateDeserializer.class)
    public LocalDate getDateEnquete();

    @JsonFormat(pattern = "dd-MM-yyyy")
    @JsonDeserialize(using = LocalDateDeserializer.class)
    public LocalDate getDateFinalisation();

    public boolean getLitige();

    public Long getUserId();

    public Long getParcelleId();

    public Long getBlocId();

    @Enumerated(EnumType.STRING)
    public StatusEnquete getStatusEnquete();

    public String getDescriptionMotifRejet();

    public String getObservationParticuliere();

    public String getObservation();

    public boolean getSynchronise();

    public Long getTerminalId();

    public Long getQuartierId();

    public Long getArrondissementId();

    public Long getCommuneId();

    public Long getDepartementId();

    public Long getNumeroProvisoir();

    public String getCodeParcelle();

    public String getNomProprietaireParcelle();

    public String getCodeEquipe();

    public String getNumeroTitreFoncier();

    public String getNumEnterParcelle();

    public String getNumRue();

    public String getNomRue();

    public String getEmplacement();

    public float getAltitude();

    public float getPrecision();

    public int getNbreCoProprietaire();

    public int getNbreIndivisiaire();

    public String getAutreAdresse();

    public String getSurface();

    public int getNbreBatiment();

    public int getNbrePiscine();

    public LocalDate getDateDebutExcemption();

    public LocalDate getDateFinExcemption();

}
