<?php

namespace Sabre\CreatePassengerNameRecord\Structs;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for CreatePassengerNameRecordRS Structs
 * @subpackage Structs
 */
class CreatePassengerNameRecordRS extends STL_Response_Payload
{
    /**
     * The ItineraryRef
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var \Sabre\CreatePassengerNameRecord\Structs\ItineraryRef
     */
    public $ItineraryRef;
    /**
     * The AirBook
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var \Sabre\CreatePassengerNameRecord\Structs\AirBook
     */
    public $AirBook;
    /**
     * The AirPrice
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var \Sabre\CreatePassengerNameRecord\Structs\AirPrice
     */
    public $AirPrice;
    /**
     * The AirTax
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var \Sabre\CreatePassengerNameRecord\Structs\AirTax
     */
    public $AirTax;
    /**
     * The TravelItineraryRead
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var \Sabre\CreatePassengerNameRecord\Structs\TravelItineraryRead
     */
    public $TravelItineraryRead;
    /**
     * Constructor method for CreatePassengerNameRecordRS
     * @uses CreatePassengerNameRecordRS::setItineraryRef()
     * @uses CreatePassengerNameRecordRS::setAirBook()
     * @uses CreatePassengerNameRecordRS::setAirPrice()
     * @uses CreatePassengerNameRecordRS::setAirTax()
     * @uses CreatePassengerNameRecordRS::setTravelItineraryRead()
     * @param \Sabre\CreatePassengerNameRecord\Structs\ItineraryRef $itineraryRef
     * @param \Sabre\CreatePassengerNameRecord\Structs\AirBook $airBook
     * @param \Sabre\CreatePassengerNameRecord\Structs\AirPrice $airPrice
     * @param \Sabre\CreatePassengerNameRecord\Structs\AirTax $airTax
     * @param \Sabre\CreatePassengerNameRecord\Structs\TravelItineraryRead $travelItineraryRead
     */
    public function __construct(\Sabre\CreatePassengerNameRecord\Structs\ItineraryRef $itineraryRef = null, \Sabre\CreatePassengerNameRecord\Structs\AirBook $airBook = null, \Sabre\CreatePassengerNameRecord\Structs\AirPrice $airPrice = null, \Sabre\CreatePassengerNameRecord\Structs\AirTax $airTax = null, \Sabre\CreatePassengerNameRecord\Structs\TravelItineraryRead $travelItineraryRead = null)
    {
        $this
            ->setItineraryRef($itineraryRef)
            ->setAirBook($airBook)
            ->setAirPrice($airPrice)
            ->setAirTax($airTax)
            ->setTravelItineraryRead($travelItineraryRead);
    }
    /**
     * Get ItineraryRef value
     * @return \Sabre\CreatePassengerNameRecord\Structs\ItineraryRef|null
     */
    public function getItineraryRef()
    {
        return $this->ItineraryRef;
    }
    /**
     * Set ItineraryRef value
     * @param \Sabre\CreatePassengerNameRecord\Structs\ItineraryRef $itineraryRef
     * @return \Sabre\CreatePassengerNameRecord\Structs\CreatePassengerNameRecordRS
     */
    public function setItineraryRef(\Sabre\CreatePassengerNameRecord\Structs\ItineraryRef $itineraryRef = null)
    {
        $this->ItineraryRef = $itineraryRef;
        return $this;
    }
    /**
     * Get AirBook value
     * @return \Sabre\CreatePassengerNameRecord\Structs\AirBook|null
     */
    public function getAirBook()
    {
        return $this->AirBook;
    }
    /**
     * Set AirBook value
     * @param \Sabre\CreatePassengerNameRecord\Structs\AirBook $airBook
     * @return \Sabre\CreatePassengerNameRecord\Structs\CreatePassengerNameRecordRS
     */
    public function setAirBook(\Sabre\CreatePassengerNameRecord\Structs\AirBook $airBook = null)
    {
        $this->AirBook = $airBook;
        return $this;
    }
    /**
     * Get AirPrice value
     * @return \Sabre\CreatePassengerNameRecord\Structs\AirPrice|null
     */
    public function getAirPrice()
    {
        return $this->AirPrice;
    }
    /**
     * Set AirPrice value
     * @param \Sabre\CreatePassengerNameRecord\Structs\AirPrice $airPrice
     * @return \Sabre\CreatePassengerNameRecord\Structs\CreatePassengerNameRecordRS
     */
    public function setAirPrice(\Sabre\CreatePassengerNameRecord\Structs\AirPrice $airPrice = null)
    {
        $this->AirPrice = $airPrice;
        return $this;
    }
    /**
     * Get AirTax value
     * @return \Sabre\CreatePassengerNameRecord\Structs\AirTax|null
     */
    public function getAirTax()
    {
        return $this->AirTax;
    }
    /**
     * Set AirTax value
     * @param \Sabre\CreatePassengerNameRecord\Structs\AirTax $airTax
     * @return \Sabre\CreatePassengerNameRecord\Structs\CreatePassengerNameRecordRS
     */
    public function setAirTax(\Sabre\CreatePassengerNameRecord\Structs\AirTax $airTax = null)
    {
        $this->AirTax = $airTax;
        return $this;
    }
    /**
     * Get TravelItineraryRead value
     * @return \Sabre\CreatePassengerNameRecord\Structs\TravelItineraryRead|null
     */
    public function getTravelItineraryRead()
    {
        return $this->TravelItineraryRead;
    }
    /**
     * Set TravelItineraryRead value
     * @param \Sabre\CreatePassengerNameRecord\Structs\TravelItineraryRead $travelItineraryRead
     * @return \Sabre\CreatePassengerNameRecord\Structs\CreatePassengerNameRecordRS
     */
    public function setTravelItineraryRead(\Sabre\CreatePassengerNameRecord\Structs\TravelItineraryRead $travelItineraryRead = null)
    {
        $this->TravelItineraryRead = $travelItineraryRead;
        return $this;
    }
    /**
     * Method called when an object has been exported with var_export() functions
     * It allows to return an object instantiated with the values
     * @see AbstractStructBase::__set_state()
     * @uses AbstractStructBase::__set_state()
     * @param array $array the exported values
     * @return \Sabre\CreatePassengerNameRecord\Structs\CreatePassengerNameRecordRS
     */
    public static function __set_state(array $array)
    {
        return parent::__set_state($array);
    }
    /**
     * Method returning the class name
     * @return string __CLASS__
     */
    public function __toString()
    {
        return __CLASS__;
    }
}
