package com.ejie.ab63.model;

import java.math.BigDecimal;
import java.math.BigInteger;
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;

/**
 * Ab6324s00  
 * 
 *  
 */

public class HabitacionAlojamiento implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Integer idHabitacionAlo;
	private TipoHabitacion tipoHabitacion;
	private Alojamiento alojamiento;
	private TipoAseo tipoAseo;
	private Long numUnidades;
	private Long numPlazas;
	private Date fechaRegistro;
	private String usuarioRegistro;
	private Date fechaUltmodificacion;
	private String usuarioUltmodificacion;
	private Integer tipoRegistro;
	private String descTipoHab;
	private String descTipoAseo;
	private BigDecimal numSupBanyoCompleto;
	private BigDecimal numSupDuchaLavaboIno;
	private BigDecimal numSupBanyoLavabo;
	private Integer lavabo;

	private Integer numHabitacion;
	private BigDecimal numSupTotal;
	private Integer salonPrivado;
	private BigDecimal numSupSalon;
	private Integer terraza;
	private BigDecimal numSupTerraza;
	private Integer camaSupletoria;
	private Integer accesibilidad;
	private String otrasCaracteristicas;
	// PORTAL
	private BigInteger numHabIndividuales;
	private BigInteger numHabDobles;
	private BigInteger numHabSalon;
	private BigInteger numHabSuite;
	private BigInteger numHabHasta4Plazas;
	private BigInteger numHabMas4Plazas;

	private Long totalPlazas;

	/**
	 * Method 'Ab6324s00'.
	 */
	public HabitacionAlojamiento() {
	}

	/**
	 * Method 'Ab6324s00'.
	 * 
	 * @param idHabitacionAlo
	 *            Integer
	 */
	public HabitacionAlojamiento(Integer idHabitacionAlo) {
		this.idHabitacionAlo = idHabitacionAlo;
	}

	/**
	 * Method 'Ab6324s00'.
	 * 
	 * @param idHabitacionAlo
	 *            Integer
	 * @param numUnidades
	 *            Long
	 * @param numPlazas
	 *            Long
	 * @param fechaRegistro
	 *            Date
	 * @param usuarioRegistro
	 *            String
	 * @param fechaUltmodificacion
	 *            Date
	 * @param usuarioUltmodificacion
	 *            String
	 * @param ab6317s00
	 *            Ab6317s00
	 * @param ab6323s00
	 *            Ab6323s00
	 * @param ab6316s00
	 *            Ab6316s00
	 */
	public HabitacionAlojamiento(Integer idHabitacionAlo, Long numUnidades, Long numPlazas, Date fechaRegistro,
			String usuarioRegistro, Date fechaUltmodificacion, String usuarioUltmodificacion, TipoHabitacion ab6317s00,
			Alojamiento ab6323s00, TipoAseo ab6316s00, Integer tipoRegistro, BigDecimal numSupBanyoCompleto,
			BigDecimal numSupDuchaLavaboIno, BigDecimal numSupBanyoLavabo, Integer lavabo, Integer numHabitacion,
			BigDecimal numSupTotal, Integer salonPrivado, BigDecimal numSupSalon, Integer terraza,
			BigDecimal numSupTerraza, Integer camaSupletoria, Integer accesibilidad, String otrasCaracteristicas) {

		this.idHabitacionAlo = idHabitacionAlo;
		this.tipoHabitacion = ab6317s00;
		this.alojamiento = ab6323s00;
		this.tipoAseo = ab6316s00;
		this.numUnidades = numUnidades;
		this.numPlazas = numPlazas;
		this.fechaRegistro = fechaRegistro;
		this.usuarioRegistro = usuarioRegistro;
		this.fechaUltmodificacion = fechaUltmodificacion;
		this.usuarioUltmodificacion = usuarioUltmodificacion;
		this.tipoRegistro = tipoRegistro;
		this.numSupBanyoCompleto = numSupBanyoCompleto;
		this.numSupDuchaLavaboIno = numSupDuchaLavaboIno;
		this.numSupBanyoLavabo = numSupBanyoLavabo;
		this.lavabo = lavabo;
		this.numHabitacion = numHabitacion;
		this.numSupTotal = numSupTotal;
		this.salonPrivado = salonPrivado;
		this.numSupSalon = numSupSalon;
		this.terraza = terraza;
		this.numSupTerraza = numSupTerraza;
		this.camaSupletoria = camaSupletoria;
		this.accesibilidad = accesibilidad;
		this.otrasCaracteristicas = otrasCaracteristicas;
	}

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

	public Integer getIdHabitacionAlo() {
		return this.idHabitacionAlo;
	}

	/**
	 * Method 'setIdHabitacionAlo'.
	 *
	 * @param idHabitacionAlo
	 *            Integer
	 * @return
	 */

	public void setIdHabitacionAlo(Integer idHabitacionAlo) {
		this.idHabitacionAlo = idHabitacionAlo;
	}

	/**
	 * Method 'getAb6317s00'.
	 *
	 * @return Ab6317s00
	 */

	public TipoHabitacion getTipoHabitacion() {
		return this.tipoHabitacion;
	}

	/**
	 * Method 'setAb6317s00'.
	 *
	 * @param ab6317s00
	 *            Ab6317s00
	 * @return
	 */

	public void setTipoHabitacion(TipoHabitacion ab6317s00) {
		this.tipoHabitacion = ab6317s00;
	}

	/**
	 * Method 'getAb6323s00'.
	 *
	 * @return Ab6323s00
	 */

	public Alojamiento getAlojamiento() {
		return this.alojamiento;
	}

	/**
	 * Method 'setAb6323s00'.
	 *
	 * @param ab6323s00
	 *            Ab6323s00
	 * @return
	 */

	public void setAlojamiento(Alojamiento ab6323s00) {
		this.alojamiento = ab6323s00;
	}

	/**
	 * Method 'getAb6316s00'.
	 *
	 * @return Ab6316s00
	 */

	public TipoAseo getTipoAseo() {
		return this.tipoAseo;
	}

	/**
	 * Method 'setAb6316s00'.
	 *
	 * @param ab6316s00
	 *            Ab6316s00
	 * @return
	 */

	public void setTipoAseo(TipoAseo ab6316s00) {
		this.tipoAseo = ab6316s00;
	}

	/**
	 * 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 '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 String getDescTipoHab() {
		return descTipoHab;
	}

	public void setDescTipoHab(String descTipoHab) {
		this.descTipoHab = descTipoHab;
	}

	public String getDescTipoAseo() {
		return descTipoAseo;
	}

	public void setDescTipoAseo(String descTipoAseo) {
		this.descTipoAseo = descTipoAseo;
	}

	public Integer getTipoRegistro() {
		return tipoRegistro;
	}

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

	public BigDecimal getNumSupBanyoCompleto() {
		return numSupBanyoCompleto;
	}

	public void setNumSupBanyoCompleto(BigDecimal numSupBanyoCompleto) {
		this.numSupBanyoCompleto = numSupBanyoCompleto;
	}

	public BigDecimal getNumSupDuchaLavaboIno() {
		return numSupDuchaLavaboIno;
	}

	public void setNumSupDuchaLavaboIno(BigDecimal numSupDuchaLavaboIno) {
		this.numSupDuchaLavaboIno = numSupDuchaLavaboIno;
	}

	public BigDecimal getNumSupBanyoLavabo() {
		return numSupBanyoLavabo;
	}

	public void setNumSupBanyoLavabo(BigDecimal numSupBanyoLavabo) {
		this.numSupBanyoLavabo = numSupBanyoLavabo;
	}

	public Integer getLavabo() {
		return lavabo;
	}

	public void setLavabo(Integer lavabo) {
		this.lavabo = lavabo;
	}

	public Integer getNumHabitacion() {
		return numHabitacion;
	}

	public void setNumHabitacion(Integer numHabitacion) {
		this.numHabitacion = numHabitacion;
	}

	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 getCamaSupletoria() {
		return camaSupletoria;
	}

	public void setCamaSupletoria(Integer camaSupletoria) {
		this.camaSupletoria = camaSupletoria;
	}

	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;
	}

	/**
	 * @return the numHabIndividuales
	 */
	public BigInteger getNumHabIndividuales() {
		return numHabIndividuales;
	}

	/**
	 * @param numHabIndividuales
	 *            the numHabIndividuales to set
	 */
	public void setNumHabIndividuales(BigInteger numHabIndividuales) {
		this.numHabIndividuales = numHabIndividuales;
	}

	/**
	 * @return the numHabDobles
	 */
	public BigInteger getNumHabDobles() {
		return numHabDobles;
	}

	/**
	 * @param numHabDobles
	 *            the numHabDobles to set
	 */
	public void setNumHabDobles(BigInteger numHabDobles) {
		this.numHabDobles = numHabDobles;
	}

	/**
	 * @return the numHabSalon
	 */
	public BigInteger getNumHabSalon() {
		return numHabSalon;
	}

	/**
	 * @param numHabSalon
	 *            the numHabSalon to set
	 */
	public void setNumHabSalon(BigInteger numHabSalon) {
		this.numHabSalon = numHabSalon;
	}

	/**
	 * @return the numHabSuite
	 */
	public BigInteger getNumHabSuite() {
		return numHabSuite;
	}

	/**
	 * @param numHabSuite
	 *            the numHabSuite to set
	 */
	public void setNumHabSuite(BigInteger numHabSuite) {
		this.numHabSuite = numHabSuite;
	}

	/**
	 * @return the numHabHasta4Plazas
	 */
	public BigInteger getNumHabHasta4Plazas() {
		return numHabHasta4Plazas;
	}

	/**
	 * @param numHabHasta4Plazas
	 *            the numHabHasta4Plazas to set
	 */
	public void setNumHabHasta4Plazas(BigInteger numHabHasta4Plazas) {
		this.numHabHasta4Plazas = numHabHasta4Plazas;
	}

	/**
	 * @return the numHabMas4Plazas
	 */
	public BigInteger getNumHabMas4Plazas() {
		return numHabMas4Plazas;
	}

	/**
	 * @param numHabMas4Plazas
	 *            the numHabMas4Plazas to set
	 */
	public void setNumHabMas4Plazas(BigInteger numHabMas4Plazas) {
		this.numHabMas4Plazas = numHabMas4Plazas;
	}

	public Long getTotalPlazas() {
		return totalPlazas;
	}

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

	/**
	 * 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(" [ idHabitacionAlo: ").append(this.idHabitacionAlo).append(" ]");
		result.append(", [ numUnidades: ").append(this.numUnidades).append(" ]");
		result.append(", [ numPlazas: ").append(this.numPlazas).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();
	}

}
