package de.ivu.elect.interfaces.core;

import java.io.Serializable;
import java.util.Date;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;

@XmlAccessorType(XmlAccessType.FIELD)
public class Standort implements Serializable {

  private static final long serialVersionUID = 1L;

  @XmlElement(required = true)
  private StandortReferenz standortReferenz;

  @XmlElement(required = true)
  private StandortBarrierefreiWert barrierefreiBlind;

  @XmlElement(required = true)
  private StandortBarrierefreiWert barrierefreiGehbehindert;

  @XmlElement(required = true)
  private StandortBarrierefreiWert barrierefreiKognitiv;

  @XmlElement(required = true)
  private StandortBarrierefreiWert barrierefreiRollstuhl;

  @XmlElement(required = true)
  private StandortBarrierefreiWert barrierefreiSehbehindert;

  @XmlElement(required = false)
  private String besonderheit;

  @XmlElement(required = true)
  private String bezeichnung;

  @XmlElement(required = false)
  private String externeId;

  @XmlElement(required = false)
  private String kommentar;

  @XmlElement(required = false)
  private String mietzins;

  @XmlElement(required = false)
  private Date mieteVertragErstelltAm;

  @XmlElement(required = false)
  private String mieteWaehrungAlsIsoCode;

  @XmlElement(required = false)
  private String mieteVerwendungszweck;

  @XmlElement(required = true)
  private StandortArt standortArt;

  @XmlElement(required = false)
  private String telefonnummer;

  @XmlElement(required = true)
  private String customData;

  @XmlElement(required = true)
  private GebietReferenz gebietReferenz;

  /**
   * aka Hausmeister
   */
  @XmlElement(required = true)
  private Person ansprechpartner = new Person();

  @XmlElement(required = true)
  private Person vermieter = new Person();

  @XmlElement(required = true)
  private Anschrift anschrift = new Anschrift();

  public StandortReferenz getStandortReferenz() {
    return standortReferenz;
  }

  public void setStandortReferenz(StandortReferenz standortReferenz) {
    this.standortReferenz = standortReferenz;
  }

  public StandortBarrierefreiWert getBarrierefreiBlind() {
    return barrierefreiBlind;
  }

  public void setBarrierefreiBlind(StandortBarrierefreiWert barrierefreiBlind) {
    this.barrierefreiBlind = barrierefreiBlind;
  }

  public StandortBarrierefreiWert getBarrierefreiGehbehindert() {
    return barrierefreiGehbehindert;
  }

  public void setBarrierefreiGehbehindert(StandortBarrierefreiWert barrierefreiGehbehindert) {
    this.barrierefreiGehbehindert = barrierefreiGehbehindert;
  }

  public StandortBarrierefreiWert getBarrierefreiKognitiv() {
    return barrierefreiKognitiv;
  }

  public void setBarrierefreiKognitiv(StandortBarrierefreiWert barrierefreiKognitiv) {
    this.barrierefreiKognitiv = barrierefreiKognitiv;
  }

  public StandortBarrierefreiWert getBarrierefreiRollstuhl() {
    return barrierefreiRollstuhl;
  }

  public void setBarrierefreiRollstuhl(StandortBarrierefreiWert barrierefreiRollstuhl) {
    this.barrierefreiRollstuhl = barrierefreiRollstuhl;
  }

  public StandortBarrierefreiWert getBarrierefreiSehbehindert() {
    return barrierefreiSehbehindert;
  }

  public void setBarrierefreiSehbehindert(StandortBarrierefreiWert barrierefreiSehbehindert) {
    this.barrierefreiSehbehindert = barrierefreiSehbehindert;
  }

  public String getBesonderheit() {
    return besonderheit;
  }

  public void setBesonderheit(String besonderheit) {
    this.besonderheit = besonderheit;
  }

  public String getBezeichnung() {
    return bezeichnung;
  }

  public void setBezeichnung(String bezeichnung) {
    this.bezeichnung = bezeichnung;
  }

  public String getExterneId() {
    return externeId;
  }

  public void setExterneId(String externeId) {
    this.externeId = externeId;
  }

  public String getKommentar() {
    return kommentar;
  }

  public void setKommentar(String kommentar) {
    this.kommentar = kommentar;
  }

  public String getMietzins() {
    return mietzins;
  }

  public void setMietzins(String mietzins) {
    this.mietzins = mietzins;
  }

  public Date getMieteVertragErstelltAm() {
    return mieteVertragErstelltAm;
  }

  public void setMieteVertragErstelltAm(Date mieteVertragErstelltAm) {
    this.mieteVertragErstelltAm = mieteVertragErstelltAm;
  }

  public String getMieteWaehrungAlsIsoCode() {
    return mieteWaehrungAlsIsoCode;
  }

  public void setMieteWaehrungAlsIsoCode(String mieteWaehrungAlsIsoCode) {
    this.mieteWaehrungAlsIsoCode = mieteWaehrungAlsIsoCode;
  }

  public String getMieteVerwendungszweck() {
    return mieteVerwendungszweck;
  }

  public void setMieteVerwendungszweck(String mieteVerwendungszweck) {
    this.mieteVerwendungszweck = mieteVerwendungszweck;
  }

  public StandortArt getStandortArt() {
    return standortArt;
  }

  public void setStandortArt(StandortArt standortArt) {
    this.standortArt = standortArt;
  }

  public String getTelefonnummer() {
    return telefonnummer;
  }

  public void setTelefonnummer(String telefonnummer) {
    this.telefonnummer = telefonnummer;
  }

  public GebietReferenz getGebietReferenz() {
    return gebietReferenz;
  }

  public void setGebietReferenz(GebietReferenz gebietReferenz) {
    this.gebietReferenz = gebietReferenz;
  }

  public Person getAnsprechpartner() {
    return ansprechpartner;
  }

  public void setAnsprechpartner(Person ansprechpartner) {
    this.ansprechpartner = ansprechpartner;
  }

  public Person getVermieter() {
    return vermieter;
  }

  public void setVermieter(Person vermieter) {
    this.vermieter = vermieter;
  }

  public String getCustomData() {
    return customData;
  }

  public void setCustomData(String customData) {
    this.customData = customData;
  }

  public Anschrift getAnschrift() {
    return anschrift;
  }

  public void setAnschrift(Anschrift anschrift) {
    this.anschrift = anschrift;
  }
}
