<?php
/**
 * QuerKfcOrderDataBeanDTO
 *
 * PHP version 5
 *
 * @category Class
 * @package  Yeepay\Yop\Sdk\
 * @author   Swagger Codegen team
 * @link     https://github.com/swagger-api/swagger-codegen
 */

/**
 * 旅游资源
 *
 * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
 *
 * OpenAPI spec version: 1.0
 * 
 * Generated by: https://github.com/swagger-api/swagger-codegen.git
 * Swagger Codegen version: 3.0.13
 */

/**
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen
 * Do not edit the class manually.
 */

namespace Yeepay\Yop\Sdk\Service\TravelResources\Model;

use \ArrayAccess;
use Yeepay\Yop\Sdk\Model\ModelInterface;
use Yeepay\Yop\Sdk\Utils\ObjectSerializer;

/**
 * QuerKfcOrderDataBeanDTO Class Doc Comment
 *
 * @category Class
 * @description Kfc订单信息
 * @package  Yeepay\Yop\Sdk\
 * @author   Swagger Codegen team
 * @link     https://github.com/swagger-api/swagger-codegen
 */
class QuerKfcOrderDataBeanDTO implements ModelInterface, ArrayAccess
{
    const DISCRIMINATOR = null;

    /**
      * The original name of the model.
      *
      * @var string
      */
    protected static $swaggerModelName = 'QuerKfcOrderDataBeanDTO';

    /**
      * Array of property to type mappings. Used for (de)serialization
      *
      * @var string[]
      */
    protected static $swaggerTypes = [
        'totalPrice' => 'float',
        'marketUnitPrice' => 'float',
        'refundPrice' => 'float',
        'kfcPlaceOrder' => '\Yeepay\Yop\Sdk\Service\TravelResources\Model\QueryKfcPlaceOrderBean',
        'unitPrice' => 'float',
        'orderNo' => 'string',
        'quantity' => 'int',
        'ticket' => 'string',
        'commissionPrice' => 'float',
        'userId' => 'int',
        'userRemark' => 'string',
        'userMobile' => 'string',
        'cancelTime' => 'string',
        'userName' => 'string',
        'kfcOrderMobileSuffix' => 'string',
        'kfcOrderMobileRemark' => 'string',
        'platformUniqueId' => 'string',
        'takeout' => 'bool',
        'takeoutPrice' => 'float',
        'takeoutProvinceName' => 'string',
        'takeoutProvinceCode' => 'string',
        'takeoutCityName' => 'string',
        'takeoutCityCode' => 'string',
        'takeoutRegionName' => 'string',
        'takeoutRegionCode' => 'string',
        'takeoutMainAddress' => 'string',
        'takeoutDetailAddress' => 'string',
        'takeoutLon' => 'string',
        'takeoutLat' => 'string',
        'takeoutDeliveryTime' => 'string',
        'createTime' => 'string',
        'updateTime' => 'string'
    ];

    /**
      * Array of property to format mappings. Used for (de)serialization
      *
      * @var string[]
      */
    protected static $swaggerFormats = [
        'totalPrice' => null,
        'marketUnitPrice' => null,
        'refundPrice' => null,
        'kfcPlaceOrder' => null,
        'unitPrice' => null,
        'orderNo' => null,
        'quantity' => 'int32',
        'ticket' => null,
        'commissionPrice' => null,
        'userId' => 'int32',
        'userRemark' => null,
        'userMobile' => null,
        'cancelTime' => null,
        'userName' => null,
        'kfcOrderMobileSuffix' => null,
        'kfcOrderMobileRemark' => null,
        'platformUniqueId' => null,
        'takeout' => null,
        'takeoutPrice' => null,
        'takeoutProvinceName' => null,
        'takeoutProvinceCode' => null,
        'takeoutCityName' => null,
        'takeoutCityCode' => null,
        'takeoutRegionName' => null,
        'takeoutRegionCode' => null,
        'takeoutMainAddress' => null,
        'takeoutDetailAddress' => null,
        'takeoutLon' => null,
        'takeoutLat' => null,
        'takeoutDeliveryTime' => null,
        'createTime' => null,
        'updateTime' => null
    ];

    /**
     * Array of property to type mappings. Used for (de)serialization
     *
     * @return array
     */
    public static function swaggerTypes()
    {
        return self::$swaggerTypes;
    }

    /**
     * Array of property to format mappings. Used for (de)serialization
     *
     * @return array
     */
    public static function swaggerFormats()
    {
        return self::$swaggerFormats;
    }

    /**
     * Array of attributes where the key is the local name,
     * and the value is the original name
     *
     * @var string[]
     */
    protected static $attributeMap = [
        'totalPrice' => 'totalPrice',
        'marketUnitPrice' => 'marketUnitPrice',
        'refundPrice' => 'refundPrice',
        'kfcPlaceOrder' => 'kfcPlaceOrder',
        'unitPrice' => 'unitPrice',
        'orderNo' => 'orderNo',
        'quantity' => 'quantity',
        'ticket' => 'ticket',
        'commissionPrice' => 'commissionPrice',
        'userId' => 'userId',
        'userRemark' => 'userRemark',
        'userMobile' => 'userMobile',
        'cancelTime' => 'cancelTime',
        'userName' => 'userName',
        'kfcOrderMobileSuffix' => 'kfcOrderMobileSuffix',
        'kfcOrderMobileRemark' => 'kfcOrderMobileRemark',
        'platformUniqueId' => 'platformUniqueId',
        'takeout' => 'takeout',
        'takeoutPrice' => 'takeoutPrice',
        'takeoutProvinceName' => 'takeoutProvinceName',
        'takeoutProvinceCode' => 'takeoutProvinceCode',
        'takeoutCityName' => 'takeoutCityName',
        'takeoutCityCode' => 'takeoutCityCode',
        'takeoutRegionName' => 'takeoutRegionName',
        'takeoutRegionCode' => 'takeoutRegionCode',
        'takeoutMainAddress' => 'takeoutMainAddress',
        'takeoutDetailAddress' => 'takeoutDetailAddress',
        'takeoutLon' => 'takeoutLon',
        'takeoutLat' => 'takeoutLat',
        'takeoutDeliveryTime' => 'takeoutDeliveryTime',
        'createTime' => 'createTime',
        'updateTime' => 'updateTime'
    ];

    /**
     * Array of attributes to setter functions (for deserialization of responses)
     *
     * @var string[]
     */
    protected static $setters = [
        'totalPrice' => 'setTotalPrice',
        'marketUnitPrice' => 'setMarketUnitPrice',
        'refundPrice' => 'setRefundPrice',
        'kfcPlaceOrder' => 'setKfcPlaceOrder',
        'unitPrice' => 'setUnitPrice',
        'orderNo' => 'setOrderNo',
        'quantity' => 'setQuantity',
        'ticket' => 'setTicket',
        'commissionPrice' => 'setCommissionPrice',
        'userId' => 'setUserId',
        'userRemark' => 'setUserRemark',
        'userMobile' => 'setUserMobile',
        'cancelTime' => 'setCancelTime',
        'userName' => 'setUserName',
        'kfcOrderMobileSuffix' => 'setKfcOrderMobileSuffix',
        'kfcOrderMobileRemark' => 'setKfcOrderMobileRemark',
        'platformUniqueId' => 'setPlatformUniqueId',
        'takeout' => 'setTakeout',
        'takeoutPrice' => 'setTakeoutPrice',
        'takeoutProvinceName' => 'setTakeoutProvinceName',
        'takeoutProvinceCode' => 'setTakeoutProvinceCode',
        'takeoutCityName' => 'setTakeoutCityName',
        'takeoutCityCode' => 'setTakeoutCityCode',
        'takeoutRegionName' => 'setTakeoutRegionName',
        'takeoutRegionCode' => 'setTakeoutRegionCode',
        'takeoutMainAddress' => 'setTakeoutMainAddress',
        'takeoutDetailAddress' => 'setTakeoutDetailAddress',
        'takeoutLon' => 'setTakeoutLon',
        'takeoutLat' => 'setTakeoutLat',
        'takeoutDeliveryTime' => 'setTakeoutDeliveryTime',
        'createTime' => 'setCreateTime',
        'updateTime' => 'setUpdateTime'
    ];

    /**
     * Array of attributes to getter functions (for serialization of requests)
     *
     * @var string[]
     */
    protected static $getters = [
        'totalPrice' => 'getTotalPrice',
        'marketUnitPrice' => 'getMarketUnitPrice',
        'refundPrice' => 'getRefundPrice',
        'kfcPlaceOrder' => 'getKfcPlaceOrder',
        'unitPrice' => 'getUnitPrice',
        'orderNo' => 'getOrderNo',
        'quantity' => 'getQuantity',
        'ticket' => 'getTicket',
        'commissionPrice' => 'getCommissionPrice',
        'userId' => 'getUserId',
        'userRemark' => 'getUserRemark',
        'userMobile' => 'getUserMobile',
        'cancelTime' => 'getCancelTime',
        'userName' => 'getUserName',
        'kfcOrderMobileSuffix' => 'getKfcOrderMobileSuffix',
        'kfcOrderMobileRemark' => 'getKfcOrderMobileRemark',
        'platformUniqueId' => 'getPlatformUniqueId',
        'takeout' => 'getTakeout',
        'takeoutPrice' => 'getTakeoutPrice',
        'takeoutProvinceName' => 'getTakeoutProvinceName',
        'takeoutProvinceCode' => 'getTakeoutProvinceCode',
        'takeoutCityName' => 'getTakeoutCityName',
        'takeoutCityCode' => 'getTakeoutCityCode',
        'takeoutRegionName' => 'getTakeoutRegionName',
        'takeoutRegionCode' => 'getTakeoutRegionCode',
        'takeoutMainAddress' => 'getTakeoutMainAddress',
        'takeoutDetailAddress' => 'getTakeoutDetailAddress',
        'takeoutLon' => 'getTakeoutLon',
        'takeoutLat' => 'getTakeoutLat',
        'takeoutDeliveryTime' => 'getTakeoutDeliveryTime',
        'createTime' => 'getCreateTime',
        'updateTime' => 'getUpdateTime'
    ];

    /**
     * Array of attributes where the key is the local name,
     * and the value is the original name
     *
     * @return array
     */
    public static function attributeMap()
    {
        return self::$attributeMap;
    }

    /**
     * Array of attributes to setter functions (for deserialization of responses)
     *
     * @return array
     */
    public static function setters()
    {
        return self::$setters;
    }

    /**
     * Array of attributes to getter functions (for serialization of requests)
     *
     * @return array
     */
    public static function getters()
    {
        return self::$getters;
    }

    /**
     * The original name of the model.
     *
     * @return string
     */
    public function getModelName()
    {
        return self::$swaggerModelName;
    }

    

    

    /**
     * Associative array for storing property values
     *
     * @var mixed[]
     */
    protected $container = [];

    /**
     * Constructor
     *
     * @param mixed[] $data Associated array of property values
     *                      initializing the model
     */
    public function __construct(array $data = null)
    {
        $this->container['totalPrice'] = isset($data['totalPrice']) ? $data['totalPrice'] : null;
        $this->container['marketUnitPrice'] = isset($data['marketUnitPrice']) ? $data['marketUnitPrice'] : null;
        $this->container['refundPrice'] = isset($data['refundPrice']) ? $data['refundPrice'] : null;
        $this->container['kfcPlaceOrder'] = isset($data['kfcPlaceOrder']) ? $data['kfcPlaceOrder'] : null;
        $this->container['unitPrice'] = isset($data['unitPrice']) ? $data['unitPrice'] : null;
        $this->container['orderNo'] = isset($data['orderNo']) ? $data['orderNo'] : null;
        $this->container['quantity'] = isset($data['quantity']) ? $data['quantity'] : null;
        $this->container['ticket'] = isset($data['ticket']) ? $data['ticket'] : null;
        $this->container['commissionPrice'] = isset($data['commissionPrice']) ? $data['commissionPrice'] : null;
        $this->container['userId'] = isset($data['userId']) ? $data['userId'] : null;
        $this->container['userRemark'] = isset($data['userRemark']) ? $data['userRemark'] : null;
        $this->container['userMobile'] = isset($data['userMobile']) ? $data['userMobile'] : null;
        $this->container['cancelTime'] = isset($data['cancelTime']) ? $data['cancelTime'] : null;
        $this->container['userName'] = isset($data['userName']) ? $data['userName'] : null;
        $this->container['kfcOrderMobileSuffix'] = isset($data['kfcOrderMobileSuffix']) ? $data['kfcOrderMobileSuffix'] : null;
        $this->container['kfcOrderMobileRemark'] = isset($data['kfcOrderMobileRemark']) ? $data['kfcOrderMobileRemark'] : null;
        $this->container['platformUniqueId'] = isset($data['platformUniqueId']) ? $data['platformUniqueId'] : null;
        $this->container['takeout'] = isset($data['takeout']) ? $data['takeout'] : null;
        $this->container['takeoutPrice'] = isset($data['takeoutPrice']) ? $data['takeoutPrice'] : null;
        $this->container['takeoutProvinceName'] = isset($data['takeoutProvinceName']) ? $data['takeoutProvinceName'] : null;
        $this->container['takeoutProvinceCode'] = isset($data['takeoutProvinceCode']) ? $data['takeoutProvinceCode'] : null;
        $this->container['takeoutCityName'] = isset($data['takeoutCityName']) ? $data['takeoutCityName'] : null;
        $this->container['takeoutCityCode'] = isset($data['takeoutCityCode']) ? $data['takeoutCityCode'] : null;
        $this->container['takeoutRegionName'] = isset($data['takeoutRegionName']) ? $data['takeoutRegionName'] : null;
        $this->container['takeoutRegionCode'] = isset($data['takeoutRegionCode']) ? $data['takeoutRegionCode'] : null;
        $this->container['takeoutMainAddress'] = isset($data['takeoutMainAddress']) ? $data['takeoutMainAddress'] : null;
        $this->container['takeoutDetailAddress'] = isset($data['takeoutDetailAddress']) ? $data['takeoutDetailAddress'] : null;
        $this->container['takeoutLon'] = isset($data['takeoutLon']) ? $data['takeoutLon'] : null;
        $this->container['takeoutLat'] = isset($data['takeoutLat']) ? $data['takeoutLat'] : null;
        $this->container['takeoutDeliveryTime'] = isset($data['takeoutDeliveryTime']) ? $data['takeoutDeliveryTime'] : null;
        $this->container['createTime'] = isset($data['createTime']) ? $data['createTime'] : null;
        $this->container['updateTime'] = isset($data['updateTime']) ? $data['updateTime'] : null;
    }

    /**
     * Show all the invalid properties with reasons.
     *
     * @return array invalid properties with reasons
     */
    public function listInvalidProperties()
    {
        $invalidProperties = [];

        if ($this->container['totalPrice'] === null) {
            $invalidProperties[] = "'totalPrice' can't be null";
        }
        if ($this->container['marketUnitPrice'] === null) {
            $invalidProperties[] = "'marketUnitPrice' can't be null";
        }
        if ($this->container['unitPrice'] === null) {
            $invalidProperties[] = "'unitPrice' can't be null";
        }
        if ($this->container['orderNo'] === null) {
            $invalidProperties[] = "'orderNo' can't be null";
        }
        if ($this->container['quantity'] === null) {
            $invalidProperties[] = "'quantity' can't be null";
        }
        if ($this->container['ticket'] === null) {
            $invalidProperties[] = "'ticket' can't be null";
        }
        if ($this->container['userId'] === null) {
            $invalidProperties[] = "'userId' can't be null";
        }
        return $invalidProperties;
    }

    /**
     * Validate all the properties in the model
     * return true if all passed
     *
     * @return bool True if all properties are valid
     */
    public function valid()
    {
        return count($this->listInvalidProperties()) === 0;
    }


    /**
     * Gets totalPrice
     *
     * @return float
     */
    public function getTotalPrice()
    {
        return $this->container['totalPrice'];
    }

    /**
     * Sets totalPrice
     *
     * @param float $totalPrice <pre>总价（元）</pre>
     *
     * @return $this
     */
    public function setTotalPrice($totalPrice)
    {
        $this->container['totalPrice'] = $totalPrice;

        return $this;
    }

    /**
     * Gets marketUnitPrice
     *
     * @return float
     */
    public function getMarketUnitPrice()
    {
        return $this->container['marketUnitPrice'];
    }

    /**
     * Sets marketUnitPrice
     *
     * @param float $marketUnitPrice <pre>市场价（元）</pre>
     *
     * @return $this
     */
    public function setMarketUnitPrice($marketUnitPrice)
    {
        $this->container['marketUnitPrice'] = $marketUnitPrice;

        return $this;
    }

    /**
     * Gets refundPrice
     *
     * @return float
     */
    public function getRefundPrice()
    {
        return $this->container['refundPrice'];
    }

    /**
     * Sets refundPrice
     *
     * @param float $refundPrice <pre>退款金额（元）</pre>
     *
     * @return $this
     */
    public function setRefundPrice($refundPrice)
    {
        $this->container['refundPrice'] = $refundPrice;

        return $this;
    }

    /**
     * Gets kfcPlaceOrder
     *
     * @return \Yeepay\Yop\Sdk\Service\TravelResources\Model\QueryKfcPlaceOrderBean
     */
    public function getKfcPlaceOrder()
    {
        return $this->container['kfcPlaceOrder'];
    }

    /**
     * Sets kfcPlaceOrder
     *
     * @param \Yeepay\Yop\Sdk\Service\TravelResources\Model\QueryKfcPlaceOrderBean $kfcPlaceOrder kfcPlaceOrder
     *
     * @return $this
     */
    public function setKfcPlaceOrder($kfcPlaceOrder)
    {
        $this->container['kfcPlaceOrder'] = $kfcPlaceOrder;

        return $this;
    }

    /**
     * Gets unitPrice
     *
     * @return float
     */
    public function getUnitPrice()
    {
        return $this->container['unitPrice'];
    }

    /**
     * Sets unitPrice
     *
     * @param float $unitPrice <pre>单价(元)</pre>
     *
     * @return $this
     */
    public function setUnitPrice($unitPrice)
    {
        $this->container['unitPrice'] = $unitPrice;

        return $this;
    }

    /**
     * Gets orderNo
     *
     * @return string
     */
    public function getOrderNo()
    {
        return $this->container['orderNo'];
    }

    /**
     * Sets orderNo
     *
     * @param string $orderNo <pre>订单号</pre>
     *
     * @return $this
     */
    public function setOrderNo($orderNo)
    {
        $this->container['orderNo'] = $orderNo;

        return $this;
    }

    /**
     * Gets quantity
     *
     * @return int
     */
    public function getQuantity()
    {
        return $this->container['quantity'];
    }

    /**
     * Sets quantity
     *
     * @param int $quantity <pre>数量</pre>
     *
     * @return $this
     */
    public function setQuantity($quantity)
    {
        $this->container['quantity'] = $quantity;

        return $this;
    }

    /**
     * Gets ticket
     *
     * @return string
     */
    public function getTicket()
    {
        return $this->container['ticket'];
    }

    /**
     * Sets ticket
     *
     * @param string $ticket <pre>取餐码</pre>
     *
     * @return $this
     */
    public function setTicket($ticket)
    {
        $this->container['ticket'] = $ticket;

        return $this;
    }

    /**
     * Gets commissionPrice
     *
     * @return float
     */
    public function getCommissionPrice()
    {
        return $this->container['commissionPrice'];
    }

    /**
     * Sets commissionPrice
     *
     * @param float $commissionPrice <pre>佣金（元），此字段在交易完成时才会有值</pre>
     *
     * @return $this
     */
    public function setCommissionPrice($commissionPrice)
    {
        $this->container['commissionPrice'] = $commissionPrice;

        return $this;
    }

    /**
     * Gets userId
     *
     * @return int
     */
    public function getUserId()
    {
        return $this->container['userId'];
    }

    /**
     * Sets userId
     *
     * @param int $userId <pre>用户id</pre>
     *
     * @return $this
     */
    public function setUserId($userId)
    {
        $this->container['userId'] = $userId;

        return $this;
    }

    /**
     * Gets userRemark
     *
     * @return string
     */
    public function getUserRemark()
    {
        return $this->container['userRemark'];
    }

    /**
     * Sets userRemark
     *
     * @param string $userRemark <pre>用户备注</pre>
     *
     * @return $this
     */
    public function setUserRemark($userRemark)
    {
        $this->container['userRemark'] = $userRemark;

        return $this;
    }

    /**
     * Gets userMobile
     *
     * @return string
     */
    public function getUserMobile()
    {
        return $this->container['userMobile'];
    }

    /**
     * Sets userMobile
     *
     * @param string $userMobile <pre>用户手机号码</pre>
     *
     * @return $this
     */
    public function setUserMobile($userMobile)
    {
        $this->container['userMobile'] = $userMobile;

        return $this;
    }

    /**
     * Gets cancelTime
     *
     * @return string
     */
    public function getCancelTime()
    {
        return $this->container['cancelTime'];
    }

    /**
     * Sets cancelTime
     *
     * @param string $cancelTime <pre>取消时间</pre>
     *
     * @return $this
     */
    public function setCancelTime($cancelTime)
    {
        $this->container['cancelTime'] = $cancelTime;

        return $this;
    }

    /**
     * Gets userName
     *
     * @return string
     */
    public function getUserName()
    {
        return $this->container['userName'];
    }

    /**
     * Sets userName
     *
     * @param string $userName <pre>用户昵称</pre>
     *
     * @return $this
     */
    public function setUserName($userName)
    {
        $this->container['userName'] = $userName;

        return $this;
    }

    /**
     * Gets kfcOrderMobileSuffix
     *
     * @return string
     */
    public function getKfcOrderMobileSuffix()
    {
        return $this->container['kfcOrderMobileSuffix'];
    }

    /**
     * Sets kfcOrderMobileSuffix
     *
     * @param string $kfcOrderMobileSuffix <pre>下单手机后4位（非用户手机号）</pre>
     *
     * @return $this
     */
    public function setKfcOrderMobileSuffix($kfcOrderMobileSuffix)
    {
        $this->container['kfcOrderMobileSuffix'] = $kfcOrderMobileSuffix;

        return $this;
    }

    /**
     * Gets kfcOrderMobileRemark
     *
     * @return string
     */
    public function getKfcOrderMobileRemark()
    {
        return $this->container['kfcOrderMobileRemark'];
    }

    /**
     * Sets kfcOrderMobileRemark
     *
     * @param string $kfcOrderMobileRemark <pre>下单手机备注</pre>
     *
     * @return $this
     */
    public function setKfcOrderMobileRemark($kfcOrderMobileRemark)
    {
        $this->container['kfcOrderMobileRemark'] = $kfcOrderMobileRemark;

        return $this;
    }

    /**
     * Gets platformUniqueId
     *
     * @return string
     */
    public function getPlatformUniqueId()
    {
        return $this->container['platformUniqueId'];
    }

    /**
     * Sets platformUniqueId
     *
     * @param string $platformUniqueId <pre>平台用户唯一标识</pre>
     *
     * @return $this
     */
    public function setPlatformUniqueId($platformUniqueId)
    {
        $this->container['platformUniqueId'] = $platformUniqueId;

        return $this;
    }

    /**
     * Gets takeout
     *
     * @return bool
     */
    public function getTakeout()
    {
        return $this->container['takeout'];
    }

    /**
     * Sets takeout
     *
     * @param bool $takeout <pre>是否外卖</pre>
     *
     * @return $this
     */
    public function setTakeout($takeout)
    {
        $this->container['takeout'] = $takeout;

        return $this;
    }

    /**
     * Gets takeoutPrice
     *
     * @return float
     */
    public function getTakeoutPrice()
    {
        return $this->container['takeoutPrice'];
    }

    /**
     * Sets takeoutPrice
     *
     * @param float $takeoutPrice <pre>外送费(元)）</pre>
     *
     * @return $this
     */
    public function setTakeoutPrice($takeoutPrice)
    {
        $this->container['takeoutPrice'] = $takeoutPrice;

        return $this;
    }

    /**
     * Gets takeoutProvinceName
     *
     * @return string
     */
    public function getTakeoutProvinceName()
    {
        return $this->container['takeoutProvinceName'];
    }

    /**
     * Sets takeoutProvinceName
     *
     * @param string $takeoutProvinceName <pre>外卖省份名称</pre>
     *
     * @return $this
     */
    public function setTakeoutProvinceName($takeoutProvinceName)
    {
        $this->container['takeoutProvinceName'] = $takeoutProvinceName;

        return $this;
    }

    /**
     * Gets takeoutProvinceCode
     *
     * @return string
     */
    public function getTakeoutProvinceCode()
    {
        return $this->container['takeoutProvinceCode'];
    }

    /**
     * Sets takeoutProvinceCode
     *
     * @param string $takeoutProvinceCode <pre>外卖省份编号</pre>
     *
     * @return $this
     */
    public function setTakeoutProvinceCode($takeoutProvinceCode)
    {
        $this->container['takeoutProvinceCode'] = $takeoutProvinceCode;

        return $this;
    }

    /**
     * Gets takeoutCityName
     *
     * @return string
     */
    public function getTakeoutCityName()
    {
        return $this->container['takeoutCityName'];
    }

    /**
     * Sets takeoutCityName
     *
     * @param string $takeoutCityName <pre>外卖城市名称</pre>
     *
     * @return $this
     */
    public function setTakeoutCityName($takeoutCityName)
    {
        $this->container['takeoutCityName'] = $takeoutCityName;

        return $this;
    }

    /**
     * Gets takeoutCityCode
     *
     * @return string
     */
    public function getTakeoutCityCode()
    {
        return $this->container['takeoutCityCode'];
    }

    /**
     * Sets takeoutCityCode
     *
     * @param string $takeoutCityCode <pre>外卖城市编号</pre>
     *
     * @return $this
     */
    public function setTakeoutCityCode($takeoutCityCode)
    {
        $this->container['takeoutCityCode'] = $takeoutCityCode;

        return $this;
    }

    /**
     * Gets takeoutRegionName
     *
     * @return string
     */
    public function getTakeoutRegionName()
    {
        return $this->container['takeoutRegionName'];
    }

    /**
     * Sets takeoutRegionName
     *
     * @param string $takeoutRegionName <pre>外卖区域名称</pre>
     *
     * @return $this
     */
    public function setTakeoutRegionName($takeoutRegionName)
    {
        $this->container['takeoutRegionName'] = $takeoutRegionName;

        return $this;
    }

    /**
     * Gets takeoutRegionCode
     *
     * @return string
     */
    public function getTakeoutRegionCode()
    {
        return $this->container['takeoutRegionCode'];
    }

    /**
     * Sets takeoutRegionCode
     *
     * @param string $takeoutRegionCode <pre>外卖区域编号</pre>
     *
     * @return $this
     */
    public function setTakeoutRegionCode($takeoutRegionCode)
    {
        $this->container['takeoutRegionCode'] = $takeoutRegionCode;

        return $this;
    }

    /**
     * Gets takeoutMainAddress
     *
     * @return string
     */
    public function getTakeoutMainAddress()
    {
        return $this->container['takeoutMainAddress'];
    }

    /**
     * Sets takeoutMainAddress
     *
     * @param string $takeoutMainAddress <pre>外卖主要地址</pre>
     *
     * @return $this
     */
    public function setTakeoutMainAddress($takeoutMainAddress)
    {
        $this->container['takeoutMainAddress'] = $takeoutMainAddress;

        return $this;
    }

    /**
     * Gets takeoutDetailAddress
     *
     * @return string
     */
    public function getTakeoutDetailAddress()
    {
        return $this->container['takeoutDetailAddress'];
    }

    /**
     * Sets takeoutDetailAddress
     *
     * @param string $takeoutDetailAddress <pre>外卖详细地址</pre>
     *
     * @return $this
     */
    public function setTakeoutDetailAddress($takeoutDetailAddress)
    {
        $this->container['takeoutDetailAddress'] = $takeoutDetailAddress;

        return $this;
    }

    /**
     * Gets takeoutLon
     *
     * @return string
     */
    public function getTakeoutLon()
    {
        return $this->container['takeoutLon'];
    }

    /**
     * Sets takeoutLon
     *
     * @param string $takeoutLon <pre>外卖地址经度</pre>
     *
     * @return $this
     */
    public function setTakeoutLon($takeoutLon)
    {
        $this->container['takeoutLon'] = $takeoutLon;

        return $this;
    }

    /**
     * Gets takeoutLat
     *
     * @return string
     */
    public function getTakeoutLat()
    {
        return $this->container['takeoutLat'];
    }

    /**
     * Sets takeoutLat
     *
     * @param string $takeoutLat <pre>外卖地址纬度</pre>
     *
     * @return $this
     */
    public function setTakeoutLat($takeoutLat)
    {
        $this->container['takeoutLat'] = $takeoutLat;

        return $this;
    }

    /**
     * Gets takeoutDeliveryTime
     *
     * @return string
     */
    public function getTakeoutDeliveryTime()
    {
        return $this->container['takeoutDeliveryTime'];
    }

    /**
     * Sets takeoutDeliveryTime
     *
     * @param string $takeoutDeliveryTime <pre>外卖预计送达时间</pre>
     *
     * @return $this
     */
    public function setTakeoutDeliveryTime($takeoutDeliveryTime)
    {
        $this->container['takeoutDeliveryTime'] = $takeoutDeliveryTime;

        return $this;
    }

    /**
     * Gets createTime
     *
     * @return string
     */
    public function getCreateTime()
    {
        return $this->container['createTime'];
    }

    /**
     * Sets createTime
     *
     * @param string $createTime <p>千猪系统中创建订单的时间</p>
     *
     * @return $this
     */
    public function setCreateTime($createTime)
    {
        $this->container['createTime'] = $createTime;

        return $this;
    }

    /**
     * Gets updateTime
     *
     * @return string
     */
    public function getUpdateTime()
    {
        return $this->container['updateTime'];
    }

    /**
     * Sets updateTime
     *
     * @param string $updateTime <p>千猪系统中订单的最后更新时间</p>
     *
     * @return $this
     */
    public function setUpdateTime($updateTime)
    {
        $this->container['updateTime'] = $updateTime;

        return $this;
    }
    /**
     * Returns true if offset exists. False otherwise.
     *
     * @param integer $offset Offset
     *
     * @return boolean
     */
    public function offsetExists($offset)
    {
        return isset($this->container[$offset]);
    }

    /**
     * Gets offset.
     *
     * @param integer $offset Offset
     *
     * @return mixed
     */
    public function offsetGet($offset)
    {
        return isset($this->container[$offset]) ? $this->container[$offset] : null;
    }

    /**
     * Sets value based on offset.
     *
     * @param integer $offset Offset
     * @param mixed   $value  Value to be set
     *
     * @return void
     */
    public function offsetSet($offset, $value)
    {
        if (is_null($offset)) {
            $this->container[] = $value;
        } else {
            $this->container[$offset] = $value;
        }
    }

    /**
     * Unsets offset.
     *
     * @param integer $offset Offset
     *
     * @return void
     */
    public function offsetUnset($offset)
    {
        unset($this->container[$offset]);
    }

    /**
     * Gets the string presentation of the object
     *
     * @return string
     */
    public function __toString()
    {
        if (defined('JSON_PRETTY_PRINT')) { // use JSON pretty print
            return json_encode(
                ObjectSerializer::sanitizeForSerialization($this),
                JSON_PRETTY_PRINT
            );
        }

        return json_encode(ObjectSerializer::sanitizeForSerialization($this));
    }
}


