_ticket_number; } /** * Устанавливает ticket_number. * * @param string|null $ticket_number Уникальный номер билета. Если при создании платежа вы уже знаете номер билета, тогда `ticket_number` — обязательный параметр. Если не знаете, тогда вместо `ticket_number` необходимо передать `booking_reference` с номером бронирования. * * @return self */ public function setTicketNumber(?string $ticket_number = null): self { $this->_ticket_number = $this->validatePropertyValue('_ticket_number', $ticket_number); return $this; } /** * Возвращает booking_reference. * * @return string|null */ public function getBookingReference(): ?string { return $this->_booking_reference; } /** * Устанавливает booking_reference. * * @param string|null $booking_reference Номер бронирования. Обязателен, если не передан `ticket_number`. * * @return self */ public function setBookingReference(?string $booking_reference = null): self { $this->_booking_reference = $this->validatePropertyValue('_booking_reference', $booking_reference); return $this; } /** * Возвращает список пассажиров. * * @return PassengerInterface[]|ListObjectInterface Список пассажиров. */ public function getPassengers(): ListObjectInterface { if ($this->_passengers === null) { $this->_passengers = new ListObject(Passenger::class); } return $this->_passengers; } /** * Устанавливает список пассажиров. * * @param ListObjectInterface|array|null $passengers Список пассажиров. * * @return self */ public function setPassengers(mixed $passengers = null): self { $this->_passengers = $this->validatePropertyValue('_passengers', $passengers); return $this; } /** * Добавляет пассажира. * * @param array|PassengerInterface $value Пассажир * * @return self */ public function addPassenger(mixed $value): self { $this->getPassengers()->add($value); return $this; } /** * Возвращает legs. * * @return LegInterface[]|ListObjectInterface */ public function getLegs(): ListObjectInterface { if ($this->_legs === null) { $this->_legs = new ListObject(Leg::class); } return $this->_legs; } /** * Устанавливает legs. * * @param ListObjectInterface|array|null $legs Список перелетов. * * @return self */ public function setLegs(mixed $legs = null): self { $this->_legs = $this->validatePropertyValue('_legs', $legs); return $this; } /** * Добавляет объект-контейнер с данными о маршруте. * * @param array|LegInterface $value Объект-контейнер с данными о маршруте * * @return self */ public function addLeg(mixed $value): self { $this->getLegs()->add($value); return $this; } /** * Проверка на наличие данных. */ public function notEmpty(): bool { return !$this->getLegs()->isEmpty() || !$this->getPassengers()->isEmpty() || $this->_ticket_number || $this->_booking_reference; } }