package com.ejie.ab63.model;

import java.math.BigDecimal;
import java.util.Date;

import com.ejie.x38.serialization.JsonDateDeserializer;
import com.ejie.x38.serialization.JsonDateSerializer;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

/**
 * Ab6331s00  
 * 
 *  
 */

public class Suite implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Long idSuite;
	private EstablecimientoData establecimientoData;
	private String descNombre;
	private Long numUnidades;
	private Long numPlazas;
	private Long numHabDoble;
	private Long numHabIndividuales;
	private Long numSalones;
	private Integer numPlazasTipo;
	private Date fechaRegistro;
	private String usuarioRegistro;
	private Date fechaUltmodificacion;
	private String usuarioUltmodificacion;
	private Long totalPlazas;
	private Integer tipoRegistro;
	private Long numSuite;
	private BigDecimal numSupTotal;
	private Integer salonPrivado;
	private BigDecimal numSupSalon;
	private Integer terraza;
	private BigDecimal numSupTerraza;
	private Integer accesibilidad;
	private String otrasCaracteristicas;

	/**
	 * Method 'Ab6331s00'.
	 */
	public Suite() {
	}

	/**
	 * Method 'Ab6331s00'.
	 * 
	 * @param idSuite
	 *            Long
	 */
	public Suite(Long idSuite) {
		this.idSuite = idSuite;
	}

	/**
	 * Method 'Ab6331s00'.
	 * 
	 * @param idSuite
	 *            Long
	 * @param descNombre
	 *            String
	 * @param numUnidades
	 *            Long
	 * @param numPlazas
	 *            Long
	 * @param numHabDoble
	 *            Long
	 * @param numHabIndividuales
	 *            Long
	 * @param numSalones
	 *            Long
	 * @param numPlazasTipo
	 *            Integer
	 * @param fechaRegistro
	 *            Date
	 * @param usuarioRegistro
	 *            String
	 * @param fechaUltmodificacion
	 *            Date
	 * @param usuarioUltmodificacion
	 *            String
	 * @param ab6321s00
	 *            Ab6321s00
	 */
	public Suite(Long idSuite, String descNombre, Long numUnidades, Long numPlazas, Long numHabDoble,
			Long numHabIndividuales, Long numSalones, Integer numPlazasTipo, Date fechaRegistro, String usuarioRegistro,
			Date fechaUltmodificacion, String usuarioUltmodificacion, EstablecimientoData ab6321s00,
			Integer tipoRegistro, Long numSuite, BigDecimal numSupTotal, Integer salonPrivado, BigDecimal numSupSalon,
			Integer terraza, BigDecimal numSupTerraza, Integer accesibilidad, String otrasCaracteristicas) {

		this.idSuite = idSuite;
		this.establecimientoData = ab6321s00;
		this.descNombre = descNombre;
		this.numUnidades = numUnidades;
		this.numPlazas = numPlazas;
		this.numHabDoble = numHabDoble;
		this.numHabIndividuales = numHabIndividuales;
		this.numSalones = numSalones;
		this.numPlazasTipo = numPlazasTipo;
		this.fechaRegistro = fechaRegistro;
		this.usuarioRegistro = usuarioRegistro;
		this.fechaUltmodificacion = fechaUltmodificacion;
		this.usuarioUltmodificacion = usuarioUltmodificacion;
		this.tipoRegistro = tipoRegistro;
		this.numSuite = numSuite;
		this.numSupTotal = numSupTotal;
		this.salonPrivado = salonPrivado;
		this.numSupSalon = numSupSalon;
		this.terraza = terraza;
		this.numSupTerraza = numSupTerraza;
		this.accesibilidad = accesibilidad;
		this.otrasCaracteristicas = otrasCaracteristicas;

	}

	/**
	 * Method 'getIdSuite'.
	 *
	 * @return Long
	 */

	public Long getIdSuite() {
		return this.idSuite;
	}

	/**
	 * Method 'setIdSuite'.
	 *
	 * @param idSuite
	 *            Long
	 * @return
	 */

	public void setIdSuite(Long idSuite) {
		this.idSuite = idSuite;
	}

	/**
	 * Method 'getAb6321s00'.
	 *
	 * @return Ab6321s00
	 */

	public EstablecimientoData getEstablecimientoData() {
		return this.establecimientoData;
	}

	/**
	 * Method 'setAb6321s00'.
	 *
	 * @param ab6321s00
	 *            Ab6321s00
	 * @return
	 */

	public void setEstablecimientoData(EstablecimientoData ab6321s00) {
		this.establecimientoData = ab6321s00;
	}

	/**
	 * Method 'getDescNombre'.
	 *
	 * @return String
	 */

	public String getDescNombre() {
		return this.descNombre;
	}

	/**
	 * Method 'setDescNombre'.
	 *
	 * @param descNombre
	 *            String
	 * @return
	 */

	public void setDescNombre(String descNombre) {
		this.descNombre = descNombre;
	}

	/**
	 * Method 'getNumUnidades'.
	 *
	 * @return Long
	 */

	public Long getNumUnidades() {
		return this.numUnidades;
	}

	/**
	 * Method 'setNumUnidades'.
	 *
	 * @param numUnidades
	 *            Long
	 * @return
	 */

	public void setNumUnidades(Long numUnidades) {
		this.numUnidades = numUnidades;
	}

	/**
	 * Method 'getNumPlazas'.
	 *
	 * @return Long
	 */

	public Long getNumPlazas() {
		return this.numPlazas;
	}

	/**
	 * Method 'setNumPlazas'.
	 *
	 * @param numPlazas
	 *            Long
	 * @return
	 */

	public void setNumPlazas(Long numPlazas) {
		this.numPlazas = numPlazas;
	}

	/**
	 * Method 'getNumHabDoble'.
	 *
	 * @return Long
	 */

	public Long getNumHabDoble() {
		return this.numHabDoble;
	}

	/**
	 * Method 'setNumHabDoble'.
	 *
	 * @param numHabDoble
	 *            Long
	 * @return
	 */

	public void setNumHabDoble(Long numHabDoble) {
		this.numHabDoble = numHabDoble;
	}

	/**
	 * Method 'getNumHabIndividuales'.
	 *
	 * @return Long
	 */

	public Long getNumHabIndividuales() {
		return this.numHabIndividuales;
	}

	/**
	 * Method 'setNumHabIndividuales'.
	 *
	 * @param numHabIndividuales
	 *            Long
	 * @return
	 */

	public void setNumHabIndividuales(Long numHabIndividuales) {
		this.numHabIndividuales = numHabIndividuales;
	}

	/**
	 * Method 'getNumSalones'.
	 *
	 * @return Long
	 */

	public Long getNumSalones() {
		return this.numSalones;
	}

	/**
	 * Method 'setNumSalones'.
	 *
	 * @param numSalones
	 *            Long
	 * @return
	 */

	public void setNumSalones(Long numSalones) {
		this.numSalones = numSalones;
	}

	/**
	 * Method 'getNumPlazasTipo'.
	 *
	 * @return Integer
	 */

	public Integer getNumPlazasTipo() {
		return this.numPlazasTipo;
	}

	/**
	 * Method 'setNumPlazasTipo'.
	 *
	 * @param numPlazasTipo
	 *            Integer
	 * @return
	 */

	public void setNumPlazasTipo(Integer numPlazasTipo) {
		this.numPlazasTipo = numPlazasTipo;
	}

	/**
	 * Method 'getFechaRegistro'.
	 *
	 * @return java.util.Date
	 */

	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getFechaRegistro() {
		return this.fechaRegistro;
	}

	/**
	 * Method 'setFechaRegistro'.
	 *
	 * @param fechaRegistro
	 *            java.util.Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaRegistro(Date fechaRegistro) {
		this.fechaRegistro = fechaRegistro;
	}

	/**
	 * Method 'getUsuarioRegistro'.
	 *
	 * @return String
	 */

	public String getUsuarioRegistro() {
		return this.usuarioRegistro;
	}

	/**
	 * Method 'setUsuarioRegistro'.
	 *
	 * @param usuarioRegistro
	 *            String
	 * @return
	 */

	public void setUsuarioRegistro(String usuarioRegistro) {
		this.usuarioRegistro = usuarioRegistro;
	}

	/**
	 * Method 'getFechaUltmodificacion'.
	 *
	 * @return java.util.Date
	 */

	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getFechaUltmodificacion() {
		return this.fechaUltmodificacion;
	}

	/**
	 * Method 'setFechaUltmodificacion'.
	 *
	 * @param fechaUltmodificacion
	 *            java.util.Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaUltmodificacion(Date fechaUltmodificacion) {
		this.fechaUltmodificacion = fechaUltmodificacion;
	}

	/**
	 * Method 'getUsuarioUltmodificacion'.
	 *
	 * @return String
	 */

	public String getUsuarioUltmodificacion() {
		return this.usuarioUltmodificacion;
	}

	/**
	 * Method 'setUsuarioUltmodificacion'.
	 *
	 * @param usuarioUltmodificacion
	 *            String
	 * @return
	 */

	public void setUsuarioUltmodificacion(String usuarioUltmodificacion) {
		this.usuarioUltmodificacion = usuarioUltmodificacion;
	}

	public Long getTotalPlazas() {
		return totalPlazas;
	}

	public void setTotalPlazas(Long totalPlazas) {
		this.totalPlazas = totalPlazas;
	}

	public Integer getTipoRegistro() {
		return tipoRegistro;
	}

	public void setTipoRegistro(Integer tipoRegistro) {
		this.tipoRegistro = tipoRegistro;
	}

	public Long getNumSuite() {
		return numSuite;
	}

	public void setNumSuite(Long numSuite) {
		this.numSuite = numSuite;
	}

	public BigDecimal getNumSupTotal() {
		return numSupTotal;
	}

	public void setNumSupTotal(BigDecimal numSupTotal) {
		this.numSupTotal = numSupTotal;
	}

	public Integer getSalonPrivado() {
		return salonPrivado;
	}

	public void setSalonPrivado(Integer salonPrivado) {
		this.salonPrivado = salonPrivado;
	}

	public BigDecimal getNumSupSalon() {
		return numSupSalon;
	}

	public void setNumSupSalon(BigDecimal numSupSalon) {
		this.numSupSalon = numSupSalon;
	}

	public Integer getTerraza() {
		return terraza;
	}

	public void setTerraza(Integer terraza) {
		this.terraza = terraza;
	}

	public BigDecimal getNumSupTerraza() {
		return numSupTerraza;
	}

	public void setNumSupTerraza(BigDecimal numSupTerraza) {
		this.numSupTerraza = numSupTerraza;
	}

	public Integer getAccesibilidad() {
		return accesibilidad;
	}

	public void setAccesibilidad(Integer accesibilidad) {
		this.accesibilidad = accesibilidad;
	}

	public String getOtrasCaracteristicas() {
		return otrasCaracteristicas;
	}

	public void setOtrasCaracteristicas(String otrasCaracteristicas) {
		this.otrasCaracteristicas = otrasCaracteristicas;
	}

	/**
	 * Intended only for logging and debugging.
	 * 
	 * Here, the contents of every main field are placed into the result.
	 * 
	 * @return String
	 */
	@Override
	public String toString() {
		StringBuilder result = new StringBuilder();
		result.append(this.getClass().getName()).append(" Object { ");
		result.append(" [ idSuite: ").append(this.idSuite).append(" ]");
		result.append(", [ descNombre: ").append(this.descNombre).append(" ]");
		result.append(", [ numUnidades: ").append(this.numUnidades).append(" ]");
		result.append(", [ numPlazas: ").append(this.numPlazas).append(" ]");
		result.append(", [ numHabDoble: ").append(this.numHabDoble).append(" ]");
		result.append(", [ numHabIndividuales: ").append(this.numHabIndividuales).append(" ]");
		result.append(", [ numSalones: ").append(this.numSalones).append(" ]");
		result.append(", [ numPlazasTipo: ").append(this.numPlazasTipo).append(" ]");
		result.append(", [ fechaRegistro: ").append(this.fechaRegistro).append(" ]");
		result.append(", [ usuarioRegistro: ").append(this.usuarioRegistro).append(" ]");
		result.append(", [ fechaUltmodificacion: ").append(this.fechaUltmodificacion).append(" ]");
		result.append(", [ usuarioUltmodificacion: ").append(this.usuarioUltmodificacion).append(" ]");
		result.append("}");
		return result.toString();
	}

}
