<?php

namespace TaxyTrack\TaxyTrackStruct;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for tt_rec TaxyTrackStruct
 * @package TaxyTrack
 * @subpackage Structs
 */
class TaxyTrackTt_rec extends AbstractStructBase
{
    /**
     * The tt_date
     * @var string
     */
    public $tt_date;
    /**
     * The tt_time
     * @var string
     */
    public $tt_time;
    /**
     * The tt_station_code
     * @var string
     */
    public $tt_station_code;
    /**
     * The tt_station_title
     * @var string
     */
    public $tt_station_title;
    /**
     * The tt_status_code
     * @var string
     */
    public $tt_status_code;
    /**
     * The tt_status_title
     * @var string
     */
    public $tt_status_title;
    /**
     * The tt_remarks
     * @var string
     */
    public $tt_remarks;
    /**
     * Constructor method for tt_rec
     * @uses TaxyTrackTt_rec::setTt_date()
     * @uses TaxyTrackTt_rec::setTt_time()
     * @uses TaxyTrackTt_rec::setTt_station_code()
     * @uses TaxyTrackTt_rec::setTt_station_title()
     * @uses TaxyTrackTt_rec::setTt_status_code()
     * @uses TaxyTrackTt_rec::setTt_status_title()
     * @uses TaxyTrackTt_rec::setTt_remarks()
     * @param string $tt_date
     * @param string $tt_time
     * @param string $tt_station_code
     * @param string $tt_station_title
     * @param string $tt_status_code
     * @param string $tt_status_title
     * @param string $tt_remarks
     */
    public function __construct($tt_date = null, $tt_time = null, $tt_station_code = null, $tt_station_title = null, $tt_status_code = null, $tt_status_title = null, $tt_remarks = null)
    {
        $this
            ->setTt_date($tt_date)
            ->setTt_time($tt_time)
            ->setTt_station_code($tt_station_code)
            ->setTt_station_title($tt_station_title)
            ->setTt_status_code($tt_status_code)
            ->setTt_status_title($tt_status_title)
            ->setTt_remarks($tt_remarks);
    }
    /**
     * Get tt_date value
     * @return string|null
     */
    public function getTt_date()
    {
        return $this->tt_date;
    }
    /**
     * Set tt_date value
     * @param string $tt_date
     * @return \TaxyTrack\TaxyTrackStruct\TaxyTrackTt_rec
     */
    public function setTt_date($tt_date = null)
    {
        // validation for constraint: string
        if (!is_null($tt_date) && !is_string($tt_date)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($tt_date, true), gettype($tt_date)), __LINE__);
        }
        $this->tt_date = $tt_date;
        return $this;
    }
    /**
     * Get tt_time value
     * @return string|null
     */
    public function getTt_time()
    {
        return $this->tt_time;
    }
    /**
     * Set tt_time value
     * @param string $tt_time
     * @return \TaxyTrack\TaxyTrackStruct\TaxyTrackTt_rec
     */
    public function setTt_time($tt_time = null)
    {
        // validation for constraint: string
        if (!is_null($tt_time) && !is_string($tt_time)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($tt_time, true), gettype($tt_time)), __LINE__);
        }
        $this->tt_time = $tt_time;
        return $this;
    }
    /**
     * Get tt_station_code value
     * @return string|null
     */
    public function getTt_station_code()
    {
        return $this->tt_station_code;
    }
    /**
     * Set tt_station_code value
     * @param string $tt_station_code
     * @return \TaxyTrack\TaxyTrackStruct\TaxyTrackTt_rec
     */
    public function setTt_station_code($tt_station_code = null)
    {
        // validation for constraint: string
        if (!is_null($tt_station_code) && !is_string($tt_station_code)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($tt_station_code, true), gettype($tt_station_code)), __LINE__);
        }
        $this->tt_station_code = $tt_station_code;
        return $this;
    }
    /**
     * Get tt_station_title value
     * @return string|null
     */
    public function getTt_station_title()
    {
        return $this->tt_station_title;
    }
    /**
     * Set tt_station_title value
     * @param string $tt_station_title
     * @return \TaxyTrack\TaxyTrackStruct\TaxyTrackTt_rec
     */
    public function setTt_station_title($tt_station_title = null)
    {
        // validation for constraint: string
        if (!is_null($tt_station_title) && !is_string($tt_station_title)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($tt_station_title, true), gettype($tt_station_title)), __LINE__);
        }
        $this->tt_station_title = $tt_station_title;
        return $this;
    }
    /**
     * Get tt_status_code value
     * @return string|null
     */
    public function getTt_status_code()
    {
        return $this->tt_status_code;
    }
    /**
     * Set tt_status_code value
     * @param string $tt_status_code
     * @return \TaxyTrack\TaxyTrackStruct\TaxyTrackTt_rec
     */
    public function setTt_status_code($tt_status_code = null)
    {
        // validation for constraint: string
        if (!is_null($tt_status_code) && !is_string($tt_status_code)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($tt_status_code, true), gettype($tt_status_code)), __LINE__);
        }
        $this->tt_status_code = $tt_status_code;
        return $this;
    }
    /**
     * Get tt_status_title value
     * @return string|null
     */
    public function getTt_status_title()
    {
        return $this->tt_status_title;
    }
    /**
     * Set tt_status_title value
     * @param string $tt_status_title
     * @return \TaxyTrack\TaxyTrackStruct\TaxyTrackTt_rec
     */
    public function setTt_status_title($tt_status_title = null)
    {
        // validation for constraint: string
        if (!is_null($tt_status_title) && !is_string($tt_status_title)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($tt_status_title, true), gettype($tt_status_title)), __LINE__);
        }
        $this->tt_status_title = $tt_status_title;
        return $this;
    }
    /**
     * Get tt_remarks value
     * @return string|null
     */
    public function getTt_remarks()
    {
        return $this->tt_remarks;
    }
    /**
     * Set tt_remarks value
     * @param string $tt_remarks
     * @return \TaxyTrack\TaxyTrackStruct\TaxyTrackTt_rec
     */
    public function setTt_remarks($tt_remarks = null)
    {
        // validation for constraint: string
        if (!is_null($tt_remarks) && !is_string($tt_remarks)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($tt_remarks, true), gettype($tt_remarks)), __LINE__);
        }
        $this->tt_remarks = $tt_remarks;
        return $this;
    }
}
