v3/src/Model/AlipayOfflineMarketShopQuerydetailResponseModel.php
<?php
/**
 * AlipayOfflineMarketShopQuerydetailResponseModel
 *
 * PHP version 7.4
 *
 * @category Class
 * @package  Alipay\OpenAPISDK
 * @author   OpenAPI Generator team
 * @link     https://openapi-generator.tech
 */

/**
 * 支付宝开放平台API
 *
 * 支付宝开放平台v3协议文档
 *
 * The version of the OpenAPI document: 2025-08-26
 * Generated by: https://openapi-generator.tech
 * OpenAPI Generator version: 6.2.1
 */

/**
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

namespace Alipay\OpenAPISDK\Model;

use \ArrayAccess;
use \Alipay\OpenAPISDK\ObjectSerializer;

/**
 * AlipayOfflineMarketShopQuerydetailResponseModel Class Doc Comment
 *
 * @category Class
 * @package  Alipay\OpenAPISDK
 * @author   OpenAPI Generator team
 * @link     https://openapi-generator.tech
 * @implements \ArrayAccess<TKey, TValue>
 * @template TKey int|null
 * @template TValue mixed|null
 */
class AlipayOfflineMarketShopQuerydetailResponseModel implements ModelInterface, ArrayAccess, \JsonSerializable
{
    public const DISCRIMINATOR = null;

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

    /**
      * Array of property to type mappings. Used for (de)serialization
      *
      * @var string[]
      */
    protected static $openAPITypes = [
        'address' => 'string',
        'auditDesc' => 'string',
        'auditImages' => 'string',
        'auditStatus' => 'string',
        'authLetter' => 'string',
        'avgPrice' => 'string',
        'box' => 'string',
        'branchShopName' => 'string',
        'brandLogo' => 'string',
        'brandName' => 'string',
        'businessCertificate' => 'string',
        'businessCertificateExpires' => 'string',
        'businessTime' => 'string',
        'categoryId' => 'string',
        'cityCode' => 'string',
        'contactNumber' => 'string',
        'createChannel' => 'string',
        'districtCode' => 'string',
        'gmtShopCreate' => 'string',
        'gmtShopModified' => 'string',
        'implementId' => 'string',
        'isOnline' => 'string',
        'isOperatingOnline' => 'string',
        'isShow' => 'string',
        'isvUid' => 'string',
        'latitude' => 'string',
        'licence' => 'string',
        'licenceCode' => 'string',
        'licenceExpires' => 'string',
        'licenceName' => 'string',
        'longitude' => 'string',
        'mainImage' => 'string',
        'mainShopName' => 'string',
        'noSmoking' => 'string',
        'notifyMobile' => 'string',
        'onlineImage' => 'string',
        'operateNotifyUrl' => 'string',
        'otherAuthImages' => 'string',
        'parking' => 'string',
        'partnerId' => 'string',
        'payType' => 'string',
        'paymentAccount' => 'string',
        'picColl' => 'string',
        'processedQrCode' => 'string',
        'providerXiaoerUid' => 'string',
        'provinceCode' => 'string',
        'qrCode' => 'string',
        'shopTags' => 'string',
        'storeId' => 'string',
        'valueAdded' => 'string',
        'wifi' => 'string'
    ];

    /**
      * Array of property to format mappings. Used for (de)serialization
      *
      * @var string[]
      * @phpstan-var array<string, string|null>
      * @psalm-var array<string, string|null>
      */
    protected static $openAPIFormats = [
        'address' => null,
        'auditDesc' => null,
        'auditImages' => null,
        'auditStatus' => null,
        'authLetter' => null,
        'avgPrice' => null,
        'box' => null,
        'branchShopName' => null,
        'brandLogo' => null,
        'brandName' => null,
        'businessCertificate' => null,
        'businessCertificateExpires' => null,
        'businessTime' => null,
        'categoryId' => null,
        'cityCode' => null,
        'contactNumber' => null,
        'createChannel' => null,
        'districtCode' => null,
        'gmtShopCreate' => null,
        'gmtShopModified' => null,
        'implementId' => null,
        'isOnline' => null,
        'isOperatingOnline' => null,
        'isShow' => null,
        'isvUid' => null,
        'latitude' => null,
        'licence' => null,
        'licenceCode' => null,
        'licenceExpires' => null,
        'licenceName' => null,
        'longitude' => null,
        'mainImage' => null,
        'mainShopName' => null,
        'noSmoking' => null,
        'notifyMobile' => null,
        'onlineImage' => null,
        'operateNotifyUrl' => null,
        'otherAuthImages' => null,
        'parking' => null,
        'partnerId' => null,
        'payType' => null,
        'paymentAccount' => null,
        'picColl' => null,
        'processedQrCode' => null,
        'providerXiaoerUid' => null,
        'provinceCode' => null,
        'qrCode' => null,
        'shopTags' => null,
        'storeId' => null,
        'valueAdded' => null,
        'wifi' => null
    ];

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

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

    /**
     * Array of attributes where the key is the local name,
     * and the value is the original name
     *
     * @var string[]
     */
    protected static $attributeMap = [
        'address' => 'address',
        'auditDesc' => 'audit_desc',
        'auditImages' => 'audit_images',
        'auditStatus' => 'audit_status',
        'authLetter' => 'auth_letter',
        'avgPrice' => 'avg_price',
        'box' => 'box',
        'branchShopName' => 'branch_shop_name',
        'brandLogo' => 'brand_logo',
        'brandName' => 'brand_name',
        'businessCertificate' => 'business_certificate',
        'businessCertificateExpires' => 'business_certificate_expires',
        'businessTime' => 'business_time',
        'categoryId' => 'category_id',
        'cityCode' => 'city_code',
        'contactNumber' => 'contact_number',
        'createChannel' => 'create_channel',
        'districtCode' => 'district_code',
        'gmtShopCreate' => 'gmt_shop_create',
        'gmtShopModified' => 'gmt_shop_modified',
        'implementId' => 'implement_id',
        'isOnline' => 'is_online',
        'isOperatingOnline' => 'is_operating_online',
        'isShow' => 'is_show',
        'isvUid' => 'isv_uid',
        'latitude' => 'latitude',
        'licence' => 'licence',
        'licenceCode' => 'licence_code',
        'licenceExpires' => 'licence_expires',
        'licenceName' => 'licence_name',
        'longitude' => 'longitude',
        'mainImage' => 'main_image',
        'mainShopName' => 'main_shop_name',
        'noSmoking' => 'no_smoking',
        'notifyMobile' => 'notify_mobile',
        'onlineImage' => 'online_image',
        'operateNotifyUrl' => 'operate_notify_url',
        'otherAuthImages' => 'other_auth_images',
        'parking' => 'parking',
        'partnerId' => 'partner_id',
        'payType' => 'pay_type',
        'paymentAccount' => 'payment_account',
        'picColl' => 'pic_coll',
        'processedQrCode' => 'processed_qr_code',
        'providerXiaoerUid' => 'provider_xiaoer_uid',
        'provinceCode' => 'province_code',
        'qrCode' => 'qr_code',
        'shopTags' => 'shop_tags',
        'storeId' => 'store_id',
        'valueAdded' => 'value_added',
        'wifi' => 'wifi'
    ];

    /**
     * Array of attributes to setter functions (for deserialization of responses)
     *
     * @var string[]
     */
    protected static $setters = [
        'address' => 'setAddress',
        'auditDesc' => 'setAuditDesc',
        'auditImages' => 'setAuditImages',
        'auditStatus' => 'setAuditStatus',
        'authLetter' => 'setAuthLetter',
        'avgPrice' => 'setAvgPrice',
        'box' => 'setBox',
        'branchShopName' => 'setBranchShopName',
        'brandLogo' => 'setBrandLogo',
        'brandName' => 'setBrandName',
        'businessCertificate' => 'setBusinessCertificate',
        'businessCertificateExpires' => 'setBusinessCertificateExpires',
        'businessTime' => 'setBusinessTime',
        'categoryId' => 'setCategoryId',
        'cityCode' => 'setCityCode',
        'contactNumber' => 'setContactNumber',
        'createChannel' => 'setCreateChannel',
        'districtCode' => 'setDistrictCode',
        'gmtShopCreate' => 'setGmtShopCreate',
        'gmtShopModified' => 'setGmtShopModified',
        'implementId' => 'setImplementId',
        'isOnline' => 'setIsOnline',
        'isOperatingOnline' => 'setIsOperatingOnline',
        'isShow' => 'setIsShow',
        'isvUid' => 'setIsvUid',
        'latitude' => 'setLatitude',
        'licence' => 'setLicence',
        'licenceCode' => 'setLicenceCode',
        'licenceExpires' => 'setLicenceExpires',
        'licenceName' => 'setLicenceName',
        'longitude' => 'setLongitude',
        'mainImage' => 'setMainImage',
        'mainShopName' => 'setMainShopName',
        'noSmoking' => 'setNoSmoking',
        'notifyMobile' => 'setNotifyMobile',
        'onlineImage' => 'setOnlineImage',
        'operateNotifyUrl' => 'setOperateNotifyUrl',
        'otherAuthImages' => 'setOtherAuthImages',
        'parking' => 'setParking',
        'partnerId' => 'setPartnerId',
        'payType' => 'setPayType',
        'paymentAccount' => 'setPaymentAccount',
        'picColl' => 'setPicColl',
        'processedQrCode' => 'setProcessedQrCode',
        'providerXiaoerUid' => 'setProviderXiaoerUid',
        'provinceCode' => 'setProvinceCode',
        'qrCode' => 'setQrCode',
        'shopTags' => 'setShopTags',
        'storeId' => 'setStoreId',
        'valueAdded' => 'setValueAdded',
        'wifi' => 'setWifi'
    ];

    /**
     * Array of attributes to getter functions (for serialization of requests)
     *
     * @var string[]
     */
    protected static $getters = [
        'address' => 'getAddress',
        'auditDesc' => 'getAuditDesc',
        'auditImages' => 'getAuditImages',
        'auditStatus' => 'getAuditStatus',
        'authLetter' => 'getAuthLetter',
        'avgPrice' => 'getAvgPrice',
        'box' => 'getBox',
        'branchShopName' => 'getBranchShopName',
        'brandLogo' => 'getBrandLogo',
        'brandName' => 'getBrandName',
        'businessCertificate' => 'getBusinessCertificate',
        'businessCertificateExpires' => 'getBusinessCertificateExpires',
        'businessTime' => 'getBusinessTime',
        'categoryId' => 'getCategoryId',
        'cityCode' => 'getCityCode',
        'contactNumber' => 'getContactNumber',
        'createChannel' => 'getCreateChannel',
        'districtCode' => 'getDistrictCode',
        'gmtShopCreate' => 'getGmtShopCreate',
        'gmtShopModified' => 'getGmtShopModified',
        'implementId' => 'getImplementId',
        'isOnline' => 'getIsOnline',
        'isOperatingOnline' => 'getIsOperatingOnline',
        'isShow' => 'getIsShow',
        'isvUid' => 'getIsvUid',
        'latitude' => 'getLatitude',
        'licence' => 'getLicence',
        'licenceCode' => 'getLicenceCode',
        'licenceExpires' => 'getLicenceExpires',
        'licenceName' => 'getLicenceName',
        'longitude' => 'getLongitude',
        'mainImage' => 'getMainImage',
        'mainShopName' => 'getMainShopName',
        'noSmoking' => 'getNoSmoking',
        'notifyMobile' => 'getNotifyMobile',
        'onlineImage' => 'getOnlineImage',
        'operateNotifyUrl' => 'getOperateNotifyUrl',
        'otherAuthImages' => 'getOtherAuthImages',
        'parking' => 'getParking',
        'partnerId' => 'getPartnerId',
        'payType' => 'getPayType',
        'paymentAccount' => 'getPaymentAccount',
        'picColl' => 'getPicColl',
        'processedQrCode' => 'getProcessedQrCode',
        'providerXiaoerUid' => 'getProviderXiaoerUid',
        'provinceCode' => 'getProvinceCode',
        'qrCode' => 'getQrCode',
        'shopTags' => 'getShopTags',
        'storeId' => 'getStoreId',
        'valueAdded' => 'getValueAdded',
        'wifi' => 'getWifi'
    ];

    /**
     * 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::$openAPIModelName;
    }


    /**
     * 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['address'] = $data['address'] ?? null;
        $this->container['auditDesc'] = $data['auditDesc'] ?? null;
        $this->container['auditImages'] = $data['auditImages'] ?? null;
        $this->container['auditStatus'] = $data['auditStatus'] ?? null;
        $this->container['authLetter'] = $data['authLetter'] ?? null;
        $this->container['avgPrice'] = $data['avgPrice'] ?? null;
        $this->container['box'] = $data['box'] ?? null;
        $this->container['branchShopName'] = $data['branchShopName'] ?? null;
        $this->container['brandLogo'] = $data['brandLogo'] ?? null;
        $this->container['brandName'] = $data['brandName'] ?? null;
        $this->container['businessCertificate'] = $data['businessCertificate'] ?? null;
        $this->container['businessCertificateExpires'] = $data['businessCertificateExpires'] ?? null;
        $this->container['businessTime'] = $data['businessTime'] ?? null;
        $this->container['categoryId'] = $data['categoryId'] ?? null;
        $this->container['cityCode'] = $data['cityCode'] ?? null;
        $this->container['contactNumber'] = $data['contactNumber'] ?? null;
        $this->container['createChannel'] = $data['createChannel'] ?? null;
        $this->container['districtCode'] = $data['districtCode'] ?? null;
        $this->container['gmtShopCreate'] = $data['gmtShopCreate'] ?? null;
        $this->container['gmtShopModified'] = $data['gmtShopModified'] ?? null;
        $this->container['implementId'] = $data['implementId'] ?? null;
        $this->container['isOnline'] = $data['isOnline'] ?? null;
        $this->container['isOperatingOnline'] = $data['isOperatingOnline'] ?? null;
        $this->container['isShow'] = $data['isShow'] ?? null;
        $this->container['isvUid'] = $data['isvUid'] ?? null;
        $this->container['latitude'] = $data['latitude'] ?? null;
        $this->container['licence'] = $data['licence'] ?? null;
        $this->container['licenceCode'] = $data['licenceCode'] ?? null;
        $this->container['licenceExpires'] = $data['licenceExpires'] ?? null;
        $this->container['licenceName'] = $data['licenceName'] ?? null;
        $this->container['longitude'] = $data['longitude'] ?? null;
        $this->container['mainImage'] = $data['mainImage'] ?? null;
        $this->container['mainShopName'] = $data['mainShopName'] ?? null;
        $this->container['noSmoking'] = $data['noSmoking'] ?? null;
        $this->container['notifyMobile'] = $data['notifyMobile'] ?? null;
        $this->container['onlineImage'] = $data['onlineImage'] ?? null;
        $this->container['operateNotifyUrl'] = $data['operateNotifyUrl'] ?? null;
        $this->container['otherAuthImages'] = $data['otherAuthImages'] ?? null;
        $this->container['parking'] = $data['parking'] ?? null;
        $this->container['partnerId'] = $data['partnerId'] ?? null;
        $this->container['payType'] = $data['payType'] ?? null;
        $this->container['paymentAccount'] = $data['paymentAccount'] ?? null;
        $this->container['picColl'] = $data['picColl'] ?? null;
        $this->container['processedQrCode'] = $data['processedQrCode'] ?? null;
        $this->container['providerXiaoerUid'] = $data['providerXiaoerUid'] ?? null;
        $this->container['provinceCode'] = $data['provinceCode'] ?? null;
        $this->container['qrCode'] = $data['qrCode'] ?? null;
        $this->container['shopTags'] = $data['shopTags'] ?? null;
        $this->container['storeId'] = $data['storeId'] ?? null;
        $this->container['valueAdded'] = $data['valueAdded'] ?? null;
        $this->container['wifi'] = $data['wifi'] ?? null;
    }

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

        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 address
     *
     * @return string|null
     */
    public function getAddress()
    {
        return $this->container['address'];
    }

    /**
     * Sets address
     *
     * @param string|null $address 门店详细地址，注：不含省市区
     *
     * @return self
     */
    public function setAddress($address)
    {
        $this->container['address'] = $address;

        return $this;
    }

    /**
     * Gets auditDesc
     *
     * @return string|null
     */
    public function getAuditDesc()
    {
        return $this->container['auditDesc'];
    }

    /**
     * Sets auditDesc
     *
     * @param string|null $auditDesc 门店审核状态描述，如果审核驳回则有相关的驳回理由
     *
     * @return self
     */
    public function setAuditDesc($auditDesc)
    {
        $this->container['auditDesc'] = $auditDesc;

        return $this;
    }

    /**
     * Gets auditImages
     *
     * @return string|null
     */
    public function getAuditImages()
    {
        return $this->container['auditImages'];
    }

    /**
     * Sets auditImages
     *
     * @param string|null $auditImages 门店审核时需要的图片; 至少包含一张门头照片，两张内景照片，必须反映真实的门店情况，审核才能够通过， 多个以英文逗号分隔
     *
     * @return self
     */
    public function setAuditImages($auditImages)
    {
        $this->container['auditImages'] = $auditImages;

        return $this;
    }

    /**
     * Gets auditStatus
     *
     * @return string|null
     */
    public function getAuditStatus()
    {
        return $this->container['auditStatus'];
    }

    /**
     * Sets auditStatus
     *
     * @param string|null $auditStatus 门店审核状态，对于系统商而言，只有三个状态，AUDITING：审核中，AUDIT_FAILED：审核驳回，AUDIT_SUCCESS：审核通过。第一次审核通过会触发门店上架。
     *
     * @return self
     */
    public function setAuditStatus($auditStatus)
    {
        $this->container['auditStatus'] = $auditStatus;

        return $this;
    }

    /**
     * Gets authLetter
     *
     * @return string|null
     */
    public function getAuthLetter()
    {
        return $this->container['authLetter'];
    }

    /**
     * Sets authLetter
     *
     * @param string|null $authLetter 授权函图片
     *
     * @return self
     */
    public function setAuthLetter($authLetter)
    {
        $this->container['authLetter'] = $authLetter;

        return $this;
    }

    /**
     * Gets avgPrice
     *
     * @return string|null
     */
    public function getAvgPrice()
    {
        return $this->container['avgPrice'];
    }

    /**
     * Sets avgPrice
     *
     * @param string|null $avgPrice 人均消费价格，最少1元，最大不超过99999元，请按实际情况填写；单位元；
     *
     * @return self
     */
    public function setAvgPrice($avgPrice)
    {
        $this->container['avgPrice'] = $avgPrice;

        return $this;
    }

    /**
     * Gets box
     *
     * @return string|null
     */
    public function getBox()
    {
        return $this->container['box'];
    }

    /**
     * Sets box
     *
     * @param string|null $box 门店是否有包厢，T表示有，F表示没有，不传在客户端不作展示
     *
     * @return self
     */
    public function setBox($box)
    {
        $this->container['box'] = $box;

        return $this;
    }

    /**
     * Gets branchShopName
     *
     * @return string|null
     */
    public function getBranchShopName()
    {
        return $this->container['branchShopName'];
    }

    /**
     * Sets branchShopName
     *
     * @param string|null $branchShopName 分店名称，比如：万塘路店，与主门店名合并在客户端显示为：肯德基(万塘路店)
     *
     * @return self
     */
    public function setBranchShopName($branchShopName)
    {
        $this->container['branchShopName'] = $branchShopName;

        return $this;
    }

    /**
     * Gets brandLogo
     *
     * @return string|null
     */
    public function getBrandLogo()
    {
        return $this->container['brandLogo'];
    }

    /**
     * Sets brandLogo
     *
     * @param string|null $brandLogo 品牌LOGO; 图片ID，不填写则默认为门店首图main_image
     *
     * @return self
     */
    public function setBrandLogo($brandLogo)
    {
        $this->container['brandLogo'] = $brandLogo;

        return $this;
    }

    /**
     * Gets brandName
     *
     * @return string|null
     */
    public function getBrandName()
    {
        return $this->container['brandName'];
    }

    /**
     * Sets brandName
     *
     * @param string|null $brandName 品牌名称；不填写则默认为“其它品牌”
     *
     * @return self
     */
    public function setBrandName($brandName)
    {
        $this->container['brandName'] = $brandName;

        return $this;
    }

    /**
     * Gets businessCertificate
     *
     * @return string|null
     */
    public function getBusinessCertificate()
    {
        return $this->container['businessCertificate'];
    }

    /**
     * Sets businessCertificate
     *
     * @param string|null $businessCertificate 经营许可证，只有餐饮类目需要
     *
     * @return self
     */
    public function setBusinessCertificate($businessCertificate)
    {
        $this->container['businessCertificate'] = $businessCertificate;

        return $this;
    }

    /**
     * Gets businessCertificateExpires
     *
     * @return string|null
     */
    public function getBusinessCertificateExpires()
    {
        return $this->container['businessCertificateExpires'];
    }

    /**
     * Sets businessCertificateExpires
     *
     * @param string|null $businessCertificateExpires 经营许可证有效期，格式：2020-03-20，只有餐饮类目需要
     *
     * @return self
     */
    public function setBusinessCertificateExpires($businessCertificateExpires)
    {
        $this->container['businessCertificateExpires'] = $businessCertificateExpires;

        return $this;
    }

    /**
     * Gets businessTime
     *
     * @return string|null
     */
    public function getBusinessTime()
    {
        return $this->container['businessTime'];
    }

    /**
     * Sets businessTime
     *
     * @param string|null $businessTime 营业时间;支持分段营业时间，以英文逗号分隔
     *
     * @return self
     */
    public function setBusinessTime($businessTime)
    {
        $this->container['businessTime'] = $businessTime;

        return $this;
    }

    /**
     * Gets categoryId
     *
     * @return string|null
     */
    public function getCategoryId()
    {
        return $this->container['categoryId'];
    }

    /**
     * Sets categoryId
     *
     * @param string|null $categoryId 类目ID，类目初始数据由口碑提供
     *
     * @return self
     */
    public function setCategoryId($categoryId)
    {
        $this->container['categoryId'] = $categoryId;

        return $this;
    }

    /**
     * Gets cityCode
     *
     * @return string|null
     */
    public function getCityCode()
    {
        return $this->container['cityCode'];
    }

    /**
     * Sets cityCode
     *
     * @param string|null $cityCode 城市编码，国标码，详见国家统计局数据
     *
     * @return self
     */
    public function setCityCode($cityCode)
    {
        $this->container['cityCode'] = $cityCode;

        return $this;
    }

    /**
     * Gets contactNumber
     *
     * @return string|null
     */
    public function getContactNumber()
    {
        return $this->container['contactNumber'];
    }

    /**
     * Sets contactNumber
     *
     * @param string|null $contactNumber 门店电话号码；支持座机和手机，在客户端对用户展现，支持多个电话，以英文逗号分隔
     *
     * @return self
     */
    public function setContactNumber($contactNumber)
    {
        $this->container['contactNumber'] = $contactNumber;

        return $this;
    }

    /**
     * Gets createChannel
     *
     * @return string|null
     */
    public function getCreateChannel()
    {
        return $this->container['createChannel'];
    }

    /**
     * Sets createChannel
     *
     * @param string|null $createChannel 门店创建来源；如：开放平台、支付宝客户端、口碑商家app、商家自主开店、服务商开店、全民开店-支付宝客户端、全民开店-商户app、其它
     *
     * @return self
     */
    public function setCreateChannel($createChannel)
    {
        $this->container['createChannel'] = $createChannel;

        return $this;
    }

    /**
     * Gets districtCode
     *
     * @return string|null
     */
    public function getDistrictCode()
    {
        return $this->container['districtCode'];
    }

    /**
     * Sets districtCode
     *
     * @param string|null $districtCode 区县编码，国标码，详见国家统计局数据
     *
     * @return self
     */
    public function setDistrictCode($districtCode)
    {
        $this->container['districtCode'] = $districtCode;

        return $this;
    }

    /**
     * Gets gmtShopCreate
     *
     * @return string|null
     */
    public function getGmtShopCreate()
    {
        return $this->container['gmtShopCreate'];
    }

    /**
     * Sets gmtShopCreate
     *
     * @param string|null $gmtShopCreate 门店创建时间
     *
     * @return self
     */
    public function setGmtShopCreate($gmtShopCreate)
    {
        $this->container['gmtShopCreate'] = $gmtShopCreate;

        return $this;
    }

    /**
     * Gets gmtShopModified
     *
     * @return string|null
     */
    public function getGmtShopModified()
    {
        return $this->container['gmtShopModified'];
    }

    /**
     * Sets gmtShopModified
     *
     * @param string|null $gmtShopModified 门店修改时间
     *
     * @return self
     */
    public function setGmtShopModified($gmtShopModified)
    {
        $this->container['gmtShopModified'] = $gmtShopModified;

        return $this;
    }

    /**
     * Gets implementId
     *
     * @return string|null
     */
    public function getImplementId()
    {
        return $this->container['implementId'];
    }

    /**
     * Sets implementId
     *
     * @param string|null $implementId 店铺使用的机具编号，多个以英文逗号分隔
     *
     * @return self
     */
    public function setImplementId($implementId)
    {
        $this->container['implementId'] = $implementId;

        return $this;
    }

    /**
     * Gets isOnline
     *
     * @return string|null
     */
    public function getIsOnline()
    {
        return $this->container['isOnline'];
    }

    /**
     * Sets isOnline
     *
     * @param string|null $isOnline 门店是否上架，T表示上架,F表示未上架，第一次门店审核通过后会触发上架
     *
     * @return self
     */
    public function setIsOnline($isOnline)
    {
        $this->container['isOnline'] = $isOnline;

        return $this;
    }

    /**
     * Gets isOperatingOnline
     *
     * @return string|null
     */
    public function getIsOperatingOnline()
    {
        return $this->container['isOperatingOnline'];
    }

    /**
     * Sets isOperatingOnline
     *
     * @param string|null $isOperatingOnline 是否在其他平台开店，T表示有开店，F表示未开店，用于证明其开店资质
     *
     * @return self
     */
    public function setIsOperatingOnline($isOperatingOnline)
    {
        $this->container['isOperatingOnline'] = $isOperatingOnline;

        return $this;
    }

    /**
     * Gets isShow
     *
     * @return string|null
     */
    public function getIsShow()
    {
        return $this->container['isShow'];
    }

    /**
     * Sets isShow
     *
     * @param string|null $isShow 门店是否在客户端显示，T表示显示，F表示隐藏
     *
     * @return self
     */
    public function setIsShow($isShow)
    {
        $this->container['isShow'] = $isShow;

        return $this;
    }

    /**
     * Gets isvUid
     *
     * @return string|null
     */
    public function getIsvUid()
    {
        return $this->container['isvUid'];
    }

    /**
     * Sets isvUid
     *
     * @param string|null $isvUid 开发者返佣ID，重要：如果有口碑签订了返佣协议，则该字段作为返佣数据提取的依据，需要与签约协议的PID保持一致， 该字段只能在创建接口中传入，不能在修改接口中被修改
     *
     * @return self
     */
    public function setIsvUid($isvUid)
    {
        $this->container['isvUid'] = $isvUid;

        return $this;
    }

    /**
     * Gets latitude
     *
     * @return string|null
     */
    public function getLatitude()
    {
        return $this->container['latitude'];
    }

    /**
     * Sets latitude
     *
     * @param string|null $latitude 纬度，最长15位字符（包括小数点）， 注：高德坐标系
     *
     * @return self
     */
    public function setLatitude($latitude)
    {
        $this->container['latitude'] = $latitude;

        return $this;
    }

    /**
     * Gets licence
     *
     * @return string|null
     */
    public function getLicence()
    {
        return $this->container['licence'];
    }

    /**
     * Sets licence
     *
     * @param string|null $licence 门店营业执照图片
     *
     * @return self
     */
    public function setLicence($licence)
    {
        $this->container['licence'] = $licence;

        return $this;
    }

    /**
     * Gets licenceCode
     *
     * @return string|null
     */
    public function getLicenceCode()
    {
        return $this->container['licenceCode'];
    }

    /**
     * Sets licenceCode
     *
     * @param string|null $licenceCode 门店营业执照编号
     *
     * @return self
     */
    public function setLicenceCode($licenceCode)
    {
        $this->container['licenceCode'] = $licenceCode;

        return $this;
    }

    /**
     * Gets licenceExpires
     *
     * @return string|null
     */
    public function getLicenceExpires()
    {
        return $this->container['licenceExpires'];
    }

    /**
     * Sets licenceExpires
     *
     * @param string|null $licenceExpires 营业执照过期时间
     *
     * @return self
     */
    public function setLicenceExpires($licenceExpires)
    {
        $this->container['licenceExpires'] = $licenceExpires;

        return $this;
    }

    /**
     * Gets licenceName
     *
     * @return string|null
     */
    public function getLicenceName()
    {
        return $this->container['licenceName'];
    }

    /**
     * Sets licenceName
     *
     * @param string|null $licenceName 门店营业执照名称
     *
     * @return self
     */
    public function setLicenceName($licenceName)
    {
        $this->container['licenceName'] = $licenceName;

        return $this;
    }

    /**
     * Gets longitude
     *
     * @return string|null
     */
    public function getLongitude()
    {
        return $this->container['longitude'];
    }

    /**
     * Sets longitude
     *
     * @param string|null $longitude 经度，最长15位字符（包括小数点）， 注：高德坐标系
     *
     * @return self
     */
    public function setLongitude($longitude)
    {
        $this->container['longitude'] = $longitude;

        return $this;
    }

    /**
     * Gets mainImage
     *
     * @return string|null
     */
    public function getMainImage()
    {
        return $this->container['mainImage'];
    }

    /**
     * Sets mainImage
     *
     * @param string|null $mainImage 门店首图；非常重要，推荐尺寸2000*1500
     *
     * @return self
     */
    public function setMainImage($mainImage)
    {
        $this->container['mainImage'] = $mainImage;

        return $this;
    }

    /**
     * Gets mainShopName
     *
     * @return string|null
     */
    public function getMainShopName()
    {
        return $this->container['mainShopName'];
    }

    /**
     * Sets mainShopName
     *
     * @param string|null $mainShopName 主店名；比如：肯德基
     *
     * @return self
     */
    public function setMainShopName($mainShopName)
    {
        $this->container['mainShopName'] = $mainShopName;

        return $this;
    }

    /**
     * Gets noSmoking
     *
     * @return string|null
     */
    public function getNoSmoking()
    {
        return $this->container['noSmoking'];
    }

    /**
     * Sets noSmoking
     *
     * @param string|null $noSmoking 是否有无烟区，T表示有无烟区，F表示没有无烟区，不传在客户端不展示
     *
     * @return self
     */
    public function setNoSmoking($noSmoking)
    {
        $this->container['noSmoking'] = $noSmoking;

        return $this;
    }

    /**
     * Gets notifyMobile
     *
     * @return string|null
     */
    public function getNotifyMobile()
    {
        return $this->container['notifyMobile'];
    }

    /**
     * Sets notifyMobile
     *
     * @param string|null $notifyMobile 门店店长电话号码；用于接收门店状态变更通知，收款成功通知等通知消息，不在客户端展示；多个以引文逗号分隔
     *
     * @return self
     */
    public function setNotifyMobile($notifyMobile)
    {
        $this->container['notifyMobile'] = $notifyMobile;

        return $this;
    }

    /**
     * Gets onlineImage
     *
     * @return string|null
     */
    public function getOnlineImage()
    {
        return $this->container['onlineImage'];
    }

    /**
     * Sets onlineImage
     *
     * @param string|null $onlineImage 在其他平台的开店图片，支持多张，逗号分隔
     *
     * @return self
     */
    public function setOnlineImage($onlineImage)
    {
        $this->container['onlineImage'] = $onlineImage;

        return $this;
    }

    /**
     * Gets operateNotifyUrl
     *
     * @return string|null
     */
    public function getOperateNotifyUrl()
    {
        return $this->container['operateNotifyUrl'];
    }

    /**
     * Sets operateNotifyUrl
     *
     * @param string|null $operateNotifyUrl 通知发送url;当商户的门店审核状态发生变化时，会向该地址推送消息
     *
     * @return self
     */
    public function setOperateNotifyUrl($operateNotifyUrl)
    {
        $this->container['operateNotifyUrl'] = $operateNotifyUrl;

        return $this;
    }

    /**
     * Gets otherAuthImages
     *
     * @return string|null
     */
    public function getOtherAuthImages()
    {
        return $this->container['otherAuthImages'];
    }

    /**
     * Sets otherAuthImages
     *
     * @param string|null $otherAuthImages 其它资质证明图片集；支持多张，逗号分隔
     *
     * @return self
     */
    public function setOtherAuthImages($otherAuthImages)
    {
        $this->container['otherAuthImages'] = $otherAuthImages;

        return $this;
    }

    /**
     * Gets parking
     *
     * @return string|null
     */
    public function getParking()
    {
        return $this->container['parking'];
    }

    /**
     * Sets parking
     *
     * @param string|null $parking 门店是否支持停车，T表示支持，F表示不支持，不传在客户端不作展示
     *
     * @return self
     */
    public function setParking($parking)
    {
        $this->container['parking'] = $parking;

        return $this;
    }

    /**
     * Gets partnerId
     *
     * @return string|null
     */
    public function getPartnerId()
    {
        return $this->container['partnerId'];
    }

    /**
     * Sets partnerId
     *
     * @param string|null $partnerId 门店的签约ID
     *
     * @return self
     */
    public function setPartnerId($partnerId)
    {
        $this->container['partnerId'] = $partnerId;

        return $this;
    }

    /**
     * Gets payType
     *
     * @return string|null
     */
    public function getPayType()
    {
        return $this->container['payType'];
    }

    /**
     * Sets payType
     *
     * @param string|null $payType 默认付款类型；如：付款码、扫码付、声波支付、在线买单、其它
     *
     * @return self
     */
    public function setPayType($payType)
    {
        $this->container['payType'] = $payType;

        return $this;
    }

    /**
     * Gets paymentAccount
     *
     * @return string|null
     */
    public function getPaymentAccount()
    {
        return $this->container['paymentAccount'];
    }

    /**
     * Sets paymentAccount
     *
     * @param string|null $paymentAccount 门店收款账户，门店收款账户只能被查询，不能通过接口修改。如果为空，则表示门店收款账户为商户签约账户
     *
     * @return self
     */
    public function setPaymentAccount($paymentAccount)
    {
        $this->container['paymentAccount'] = $paymentAccount;

        return $this;
    }

    /**
     * Gets picColl
     *
     * @return string|null
     */
    public function getPicColl()
    {
        return $this->container['picColl'];
    }

    /**
     * Sets picColl
     *
     * @param string|null $picColl 图片集，是map转化成的json串，key是图片id,value是图片url
     *
     * @return self
     */
    public function setPicColl($picColl)
    {
        $this->container['picColl'] = $picColl;

        return $this;
    }

    /**
     * Gets processedQrCode
     *
     * @return string|null
     */
    public function getProcessedQrCode()
    {
        return $this->container['processedQrCode'];
    }

    /**
     * Sets processedQrCode
     *
     * @param string|null $processedQrCode 经过加工后的门店收款二维码
     *
     * @return self
     */
    public function setProcessedQrCode($processedQrCode)
    {
        $this->container['processedQrCode'] = $processedQrCode;

        return $this;
    }

    /**
     * Gets providerXiaoerUid
     *
     * @return string|null
     */
    public function getProviderXiaoerUid()
    {
        return $this->container['providerXiaoerUid'];
    }

    /**
     * Sets providerXiaoerUid
     *
     * @param string|null $providerXiaoerUid 门店运营归属人uid
     *
     * @return self
     */
    public function setProviderXiaoerUid($providerXiaoerUid)
    {
        $this->container['providerXiaoerUid'] = $providerXiaoerUid;

        return $this;
    }

    /**
     * Gets provinceCode
     *
     * @return string|null
     */
    public function getProvinceCode()
    {
        return $this->container['provinceCode'];
    }

    /**
     * Sets provinceCode
     *
     * @param string|null $provinceCode 省份编码，国标码，详见国家统计局数据
     *
     * @return self
     */
    public function setProvinceCode($provinceCode)
    {
        $this->container['provinceCode'] = $provinceCode;

        return $this;
    }

    /**
     * Gets qrCode
     *
     * @return string|null
     */
    public function getQrCode()
    {
        return $this->container['qrCode'];
    }

    /**
     * Sets qrCode
     *
     * @param string|null $qrCode 门店收款二维码裸码
     *
     * @return self
     */
    public function setQrCode($qrCode)
    {
        $this->container['qrCode'] = $qrCode;

        return $this;
    }

    /**
     * Gets shopTags
     *
     * @return string|null
     */
    public function getShopTags()
    {
        return $this->container['shopTags'];
    }

    /**
     * Sets shopTags
     *
     * @param string|null $shopTags 门店标签；JSON格式。包括：keyMerchant-是否重点商户（T/F）；isHallMeal-堂食（T/F）；注：若标签 key 不存在，则门店无对应的标签
     *
     * @return self
     */
    public function setShopTags($shopTags)
    {
        $this->container['shopTags'] = $shopTags;

        return $this;
    }

    /**
     * Gets storeId
     *
     * @return string|null
     */
    public function getStoreId()
    {
        return $this->container['storeId'];
    }

    /**
     * Sets storeId
     *
     * @param string|null $storeId 外部门店编号；最长54位字符，该编号将作为收单接口的入参， 请开发者自行确保其唯一性
     *
     * @return self
     */
    public function setStoreId($storeId)
    {
        $this->container['storeId'] = $storeId;

        return $this;
    }

    /**
     * Gets valueAdded
     *
     * @return string|null
     */
    public function getValueAdded()
    {
        return $this->container['valueAdded'];
    }

    /**
     * Sets valueAdded
     *
     * @param string|null $valueAdded 门店其他的服务，门店与用户线下兑现
     *
     * @return self
     */
    public function setValueAdded($valueAdded)
    {
        $this->container['valueAdded'] = $valueAdded;

        return $this;
    }

    /**
     * Gets wifi
     *
     * @return string|null
     */
    public function getWifi()
    {
        return $this->container['wifi'];
    }

    /**
     * Sets wifi
     *
     * @param string|null $wifi 门店是否支持WIFI，T表示支持，F表示不支持，不传在客户端不作展示
     *
     * @return self
     */
    public function setWifi($wifi)
    {
        $this->container['wifi'] = $wifi;

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

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

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

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

    /**
     * Serializes the object to a value that can be serialized natively by json_encode().
     * @link https://www.php.net/manual/en/jsonserializable.jsonserialize.php
     *
     * @return mixed Returns data which can be serialized by json_encode(), which is a value
     * of any type other than a resource.
     */
    #[\ReturnTypeWillChange]
    public function jsonSerialize()
    {
       return ObjectSerializer::sanitizeForSerialization($this);
    }

    /**
     * Gets the string presentation of the object
     *
     * @return string
     */
    public function __toString()
    {
        return json_encode(
            ObjectSerializer::sanitizeForSerialization($this),
            JSON_PRETTY_PRINT
        );
    }

    /**
     * Gets a header-safe presentation of the object
     *
     * @return string
     */
    public function toHeaderValue()
    {
        return json_encode(ObjectSerializer::sanitizeForSerialization($this));
    }
}


