_departure_airport; } /** * Устанавливает departure_airport. * * @param string|null $value Код аэропорта вылета по справочнику [IATA](https://www.iata.org/publications/Pages/code-search.aspx), например LED. * * @throws Exception * @return self */ public function setDepartureAirport(?string $value = null): self { $this->_departure_airport = $this->validatePropertyValue('_departure_airport', $value); return $this; } /** * Возвращает destination_airport. * * @return string|null */ public function getDestinationAirport(): ?string { return $this->_destination_airport; } /** * Устанавливает destination_airport. * * @param string|null $value Код аэропорта прилета по справочнику [IATA](https://www.iata.org/publications/Pages/code-search.aspx), например AMS. * * @throws Exception * @return self */ public function setDestinationAirport(?string $value = null): self { $this->_destination_airport = $this->validatePropertyValue('_destination_airport', $value); return $this; } /** * Возвращает departure_date. * * @return DateTime|null */ public function getDepartureDate(): ?DateTime { return $this->_departure_date; } /** * Устанавливает departure_date. * * @param DateTime|string|null $value Дата вылета в формате YYYY-MM-DD по стандарту [ISO 8601:2004](http://www.iso.org/iso/catalogue_detail?csnumber=40874). * * @throws Exception * @return self */ public function setDepartureDate(mixed $value = null): self { $this->_departure_date = $this->validatePropertyValue('_departure_date', $value); return $this; } /** * Возвращает carrier_code. * * @return string|null */ public function getCarrierCode(): ?string { return $this->_carrier_code; } /** * Устанавливает carrier_code. * * @param string|null $value Код авиакомпании по справочнику [IATA](https://www.iata.org/publications/Pages/code-search.aspx). * * @throws Exception * @return self */ public function setCarrierCode(?string $value = null): self { $this->_carrier_code = $this->validatePropertyValue('_carrier_code', $value); return $this; } #[ReturnTypeWillChange] /** * Возвращает ассоциативный массив со свойствами текущего объекта для его дальнейшей JSON сериализации. * * @return array Ассоциативный массив со свойствами текущего объекта */ public function jsonSerialize(): array { $result = parent::jsonSerialize(); $result['departure_date'] = $this->getDepartureDate()?->format(self::ISO8601); return $result; } }