<?php

namespace Planaday\Entities\Booking\DTO;

use Planaday\Entities\DatabaseID;

class Address {
	use DatabaseID;

	protected ?string $name = null;
	protected ?string $street = null;
	protected ?string $houseNumber = null;
	protected ?string $houseNumberExtension = null;
	protected ?string $postalCode = null;
	protected ?string $city = null;
	protected ?string $country = null;

	public function setName( ?string $name ): self {
		$this->name = $name;

		return $this;
	}

	public function setStreet( ?string $street ): self {
		$this->street = $street;

		return $this;
	}

	public function setHouseNumber( ?string $houseNumber ): self {
		$this->houseNumber = $houseNumber;

		return $this;
	}

	public function setHouseNumberExtension( ?string $houseNumberExtension ): self {
		$this->houseNumberExtension = $houseNumberExtension;

		return $this;
	}

	public function setPostalCode( ?string $postalCode ): self {
		$this->postalCode = $postalCode;

		return $this;
	}

	public function setCity( ?string $city ): self {
		$this->city = $city;

		return $this;
	}

	public function setCountry( ?string $country ): self {
		$this->country = $country;

		return $this;
	}

	public function getName(): ?string {
		return $this->name;
	}

	public function getStreet(): ?string {
		return $this->street;
	}

	public function getHouseNumber(): ?string {
		return $this->houseNumber;
	}

	public function getHouseNumberExtension(): ?string {
		return $this->houseNumberExtension;
	}

	public function getPostalCode(): ?string {
		return $this->postalCode;
	}

	public function getCity(): ?string {
		return $this->city;
	}

	public function getCountry(): ?string {
		return $this->country;
	}
}