<?php

namespace Sabre\CreatePassengerNameRecord\Structs;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for OptionalQualifiers Structs
 * @subpackage Structs
 */
class OptionalQualifiers extends AbstractStructBase
{
    /**
     * The FlightQualifiers
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var \Sabre\CreatePassengerNameRecord\Structs\FlightQualifiers
     */
    public $FlightQualifiers;
    /**
     * The FOP_Qualifiers
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var \Sabre\CreatePassengerNameRecord\Structs\FOP_Qualifiers
     */
    public $FOP_Qualifiers;
    /**
     * The MiscQualifiers
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var \Sabre\CreatePassengerNameRecord\Structs\MiscQualifiers
     */
    public $MiscQualifiers;
    /**
     * The PricingQualifiers
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var \Sabre\CreatePassengerNameRecord\Structs\PricingQualifiers
     */
    public $PricingQualifiers;
    /**
     * Constructor method for OptionalQualifiers
     * @uses OptionalQualifiers::setFlightQualifiers()
     * @uses OptionalQualifiers::setFOP_Qualifiers()
     * @uses OptionalQualifiers::setMiscQualifiers()
     * @uses OptionalQualifiers::setPricingQualifiers()
     * @param \Sabre\CreatePassengerNameRecord\Structs\FlightQualifiers $flightQualifiers
     * @param \Sabre\CreatePassengerNameRecord\Structs\FOP_Qualifiers $fOP_Qualifiers
     * @param \Sabre\CreatePassengerNameRecord\Structs\MiscQualifiers $miscQualifiers
     * @param \Sabre\CreatePassengerNameRecord\Structs\PricingQualifiers $pricingQualifiers
     */
    public function __construct(\Sabre\CreatePassengerNameRecord\Structs\FlightQualifiers $flightQualifiers = null, \Sabre\CreatePassengerNameRecord\Structs\FOP_Qualifiers $fOP_Qualifiers = null, \Sabre\CreatePassengerNameRecord\Structs\MiscQualifiers $miscQualifiers = null, \Sabre\CreatePassengerNameRecord\Structs\PricingQualifiers $pricingQualifiers = null)
    {
        $this
            ->setFlightQualifiers($flightQualifiers)
            ->setFOP_Qualifiers($fOP_Qualifiers)
            ->setMiscQualifiers($miscQualifiers)
            ->setPricingQualifiers($pricingQualifiers);
    }
    /**
     * Get FlightQualifiers value
     * @return \Sabre\CreatePassengerNameRecord\Structs\FlightQualifiers|null
     */
    public function getFlightQualifiers()
    {
        return $this->FlightQualifiers;
    }
    /**
     * Set FlightQualifiers value
     * @param \Sabre\CreatePassengerNameRecord\Structs\FlightQualifiers $flightQualifiers
     * @return \Sabre\CreatePassengerNameRecord\Structs\OptionalQualifiers
     */
    public function setFlightQualifiers(\Sabre\CreatePassengerNameRecord\Structs\FlightQualifiers $flightQualifiers = null)
    {
        $this->FlightQualifiers = $flightQualifiers;
        return $this;
    }
    /**
     * Get FOP_Qualifiers value
     * @return \Sabre\CreatePassengerNameRecord\Structs\FOP_Qualifiers|null
     */
    public function getFOP_Qualifiers()
    {
        return $this->FOP_Qualifiers;
    }
    /**
     * Set FOP_Qualifiers value
     * @param \Sabre\CreatePassengerNameRecord\Structs\FOP_Qualifiers $fOP_Qualifiers
     * @return \Sabre\CreatePassengerNameRecord\Structs\OptionalQualifiers
     */
    public function setFOP_Qualifiers(\Sabre\CreatePassengerNameRecord\Structs\FOP_Qualifiers $fOP_Qualifiers = null)
    {
        $this->FOP_Qualifiers = $fOP_Qualifiers;
        return $this;
    }
    /**
     * Get MiscQualifiers value
     * @return \Sabre\CreatePassengerNameRecord\Structs\MiscQualifiers|null
     */
    public function getMiscQualifiers()
    {
        return $this->MiscQualifiers;
    }
    /**
     * Set MiscQualifiers value
     * @param \Sabre\CreatePassengerNameRecord\Structs\MiscQualifiers $miscQualifiers
     * @return \Sabre\CreatePassengerNameRecord\Structs\OptionalQualifiers
     */
    public function setMiscQualifiers(\Sabre\CreatePassengerNameRecord\Structs\MiscQualifiers $miscQualifiers = null)
    {
        $this->MiscQualifiers = $miscQualifiers;
        return $this;
    }
    /**
     * Get PricingQualifiers value
     * @return \Sabre\CreatePassengerNameRecord\Structs\PricingQualifiers|null
     */
    public function getPricingQualifiers()
    {
        return $this->PricingQualifiers;
    }
    /**
     * Set PricingQualifiers value
     * @param \Sabre\CreatePassengerNameRecord\Structs\PricingQualifiers $pricingQualifiers
     * @return \Sabre\CreatePassengerNameRecord\Structs\OptionalQualifiers
     */
    public function setPricingQualifiers(\Sabre\CreatePassengerNameRecord\Structs\PricingQualifiers $pricingQualifiers = null)
    {
        $this->PricingQualifiers = $pricingQualifiers;
        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\OptionalQualifiers
     */
    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__;
    }
}
