package response

import "encoding/xml"

// Estructuras para respuesta SOAP
type SoapEnvelopeCufd struct {
	XMLName xml.Name     `xml:"Envelope"`
	Body    SoapBodyCufd `xml:"Body"`
}

type SoapBodyCufd struct {
	Response      *CufdResponse `xml:"cufdResponse,omitempty" json:"response,omitempty"`
	ResponseError *SoapFault    `xml:"Fault,omitempty"        json:"responseError,omitempty"`
}

type CufdResponse struct {
	Respuesta RespuestaCufd `xml:"RespuestaCufd"`
}

type RespuestaCufd struct {
	Codigo        string           `xml:"codigo,omitempty" json:"codigo,omitempty"`
	CodigoControl string           `xml:"codigoControl,omitempty" json:"codigoControl,omitempty"`
	Direccion     string           `xml:"direccion,omitempty" json:"direccion,omitempty"`
	FechaVigencia string           `xml:"fechaVigencia,omitempty" json:"fechaVigencia,omitempty"`
	Transaccion   bool             `xml:"transaccion,omitempty" json:"transaccion,omitempty"`
	MensajesList  []MsgDetalleCufd `xml:"mensajesList,omitempty" json:"mensajesList,omitempty"`
}

// CUSTOMER RESPONSE: parte del Body se envia al CustomerResponseModel.go
type MsgDetalleCufd struct {
	Codigo      string `xml:"codigo,omitempty" json:"codigo,omitempty"`
	Descripcion string `xml:"descripcion,omitempty" json:"descripcion,omitempty"`
}
