<?php

namespace Sabre\CreatePassengerNameRecord\Structs;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for StopoverCharge Structs
 * @subpackage Structs
 */
class StopoverCharge extends AbstractStructBase
{
    /**
     * The Ind
     * Meta informations extracted from the WSDL
     * - use: optional
     * @var string
     */
    public $Ind;
    /**
     * The CitySpecificStopoverCharge
     * Meta informations extracted from the WSDL
     * - use: optional
     * @var string
     */
    public $CitySpecificStopoverCharge;
    /**
     * The TransferChargeInd
     * Meta informations extracted from the WSDL
     * - use: optional
     * @var string
     */
    public $TransferChargeInd;
    /**
     * The TransferCharge
     * Meta informations extracted from the WSDL
     * - use: optional
     * @var string
     */
    public $TransferCharge;
    /**
     * Constructor method for StopoverCharge
     * @uses StopoverCharge::setInd()
     * @uses StopoverCharge::setCitySpecificStopoverCharge()
     * @uses StopoverCharge::setTransferChargeInd()
     * @uses StopoverCharge::setTransferCharge()
     * @param string $ind
     * @param string $citySpecificStopoverCharge
     * @param string $transferChargeInd
     * @param string $transferCharge
     */
    public function __construct($ind = null, $citySpecificStopoverCharge = null, $transferChargeInd = null, $transferCharge = null)
    {
        $this
            ->setInd($ind)
            ->setCitySpecificStopoverCharge($citySpecificStopoverCharge)
            ->setTransferChargeInd($transferChargeInd)
            ->setTransferCharge($transferCharge);
    }
    /**
     * Get Ind value
     * @return string|null
     */
    public function getInd()
    {
        return $this->Ind;
    }
    /**
     * Set Ind value
     * @param string $ind
     * @return \Sabre\CreatePassengerNameRecord\Structs\StopoverCharge
     */
    public function setInd($ind = null)
    {
        $this->Ind = $ind;
        return $this;
    }
    /**
     * Get CitySpecificStopoverCharge value
     * @return string|null
     */
    public function getCitySpecificStopoverCharge()
    {
        return $this->CitySpecificStopoverCharge;
    }
    /**
     * Set CitySpecificStopoverCharge value
     * @param string $citySpecificStopoverCharge
     * @return \Sabre\CreatePassengerNameRecord\Structs\StopoverCharge
     */
    public function setCitySpecificStopoverCharge($citySpecificStopoverCharge = null)
    {
        $this->CitySpecificStopoverCharge = $citySpecificStopoverCharge;
        return $this;
    }
    /**
     * Get TransferChargeInd value
     * @return string|null
     */
    public function getTransferChargeInd()
    {
        return $this->TransferChargeInd;
    }
    /**
     * Set TransferChargeInd value
     * @param string $transferChargeInd
     * @return \Sabre\CreatePassengerNameRecord\Structs\StopoverCharge
     */
    public function setTransferChargeInd($transferChargeInd = null)
    {
        $this->TransferChargeInd = $transferChargeInd;
        return $this;
    }
    /**
     * Get TransferCharge value
     * @return string|null
     */
    public function getTransferCharge()
    {
        return $this->TransferCharge;
    }
    /**
     * Set TransferCharge value
     * @param string $transferCharge
     * @return \Sabre\CreatePassengerNameRecord\Structs\StopoverCharge
     */
    public function setTransferCharge($transferCharge = null)
    {
        $this->TransferCharge = $transferCharge;
        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\StopoverCharge
     */
    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__;
    }
}
