content: /*
   * 支付宝开放平台API
   * 支付宝开放平台v3协议文档
   *
   * The version of the OpenAPI document: 2025-08-26
   * 
   *
   * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
   * https://openapi-generator.tech
   * Do not edit the class manually.
   */
  
  
  package com.alipay.v3.model;
  
  import java.util.Objects;
  import java.util.Arrays;
  import com.alipay.v3.model.BusinessItem;
  import com.alipay.v3.model.ParkingLotChargingRuleInfo;
  import com.alipay.v3.model.ParkingLotServiceInfo;
  import com.google.gson.TypeAdapter;
  import com.google.gson.annotations.JsonAdapter;
  import com.google.gson.annotations.SerializedName;
  import com.google.gson.stream.JsonReader;
  import com.google.gson.stream.JsonWriter;
  import io.swagger.annotations.ApiModel;
  import io.swagger.annotations.ApiModelProperty;
  import java.io.IOException;
  import java.util.ArrayList;
  import java.util.List;
  
  import com.google.gson.Gson;
  import com.google.gson.GsonBuilder;
  import com.google.gson.JsonArray;
  import com.google.gson.JsonDeserializationContext;
  import com.google.gson.JsonDeserializer;
  import com.google.gson.JsonElement;
  import com.google.gson.JsonObject;
  import com.google.gson.JsonParseException;
  import com.google.gson.TypeAdapterFactory;
  import com.google.gson.reflect.TypeToken;
  
  import java.lang.reflect.Type;
  import java.util.HashMap;
  import java.util.HashSet;
  import java.util.Map;
  import java.util.Map.Entry;
  import java.util.Set;
  
  import com.alipay.v3.JSON;
  
  /**
   * AlipayEcoMycarParkingParkinglotinfoCreateModel
   */
  @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
  public class AlipayEcoMycarParkingParkinglotinfoCreateModel {
    public static final String SERIALIZED_NAME_AGENT_ID = "agent_id";
    @SerializedName(SERIALIZED_NAME_AGENT_ID)
    private String agentId;
  
    public static final String SERIALIZED_NAME_BUSINESS_ISV = "business_isv";
    @SerializedName(SERIALIZED_NAME_BUSINESS_ISV)
    private List<BusinessItem> businessIsv = null;
  
    public static final String SERIALIZED_NAME_CHARGE_SUM_SPACE = "charge_sum_space";
    @SerializedName(SERIALIZED_NAME_CHARGE_SUM_SPACE)
    private String chargeSumSpace;
  
    public static final String SERIALIZED_NAME_CHARGING_RULE = "charging_rule";
    @SerializedName(SERIALIZED_NAME_CHARGING_RULE)
    private List<ParkingLotChargingRuleInfo> chargingRule = null;
  
    public static final String SERIALIZED_NAME_CITY_ID = "city_id";
    @SerializedName(SERIALIZED_NAME_CITY_ID)
    private String cityId;
  
    public static final String SERIALIZED_NAME_CONTACT_ALIPAY = "contact_alipay";
    @SerializedName(SERIALIZED_NAME_CONTACT_ALIPAY)
    private String contactAlipay;
  
    public static final String SERIALIZED_NAME_CONTACT_EMALI = "contact_emali";
    @SerializedName(SERIALIZED_NAME_CONTACT_EMALI)
    private String contactEmali;
  
    public static final String SERIALIZED_NAME_CONTACT_MOBILE = "contact_mobile";
    @SerializedName(SERIALIZED_NAME_CONTACT_MOBILE)
    private String contactMobile;
  
    public static final String SERIALIZED_NAME_CONTACT_NAME = "contact_name";
    @SerializedName(SERIALIZED_NAME_CONTACT_NAME)
    private String contactName;
  
    public static final String SERIALIZED_NAME_CONTACT_TEL = "contact_tel";
    @SerializedName(SERIALIZED_NAME_CONTACT_TEL)
    private String contactTel;
  
    public static final String SERIALIZED_NAME_CONTACT_WEIXIN = "contact_weixin";
    @SerializedName(SERIALIZED_NAME_CONTACT_WEIXIN)
    private String contactWeixin;
  
    public static final String SERIALIZED_NAME_EQUIPMENT_NAME = "equipment_name";
    @SerializedName(SERIALIZED_NAME_EQUIPMENT_NAME)
    private String equipmentName;
  
    public static final String SERIALIZED_NAME_IS_SUPPORT_INVOICE = "is_support_invoice";
    @SerializedName(SERIALIZED_NAME_IS_SUPPORT_INVOICE)
    private String isSupportInvoice;
  
    public static final String SERIALIZED_NAME_ISV_MOBILE = "isv_mobile";
    @SerializedName(SERIALIZED_NAME_ISV_MOBILE)
    private String isvMobile;
  
    public static final String SERIALIZED_NAME_LATITUDE = "latitude";
    @SerializedName(SERIALIZED_NAME_LATITUDE)
    private String latitude;
  
    public static final String SERIALIZED_NAME_LONGITUDE = "longitude";
    @SerializedName(SERIALIZED_NAME_LONGITUDE)
    private String longitude;
  
    public static final String SERIALIZED_NAME_MCHNT_ID = "mchnt_id";
    @SerializedName(SERIALIZED_NAME_MCHNT_ID)
    private String mchntId;
  
    public static final String SERIALIZED_NAME_ORIGINAL_ISV_APPID = "original_isv_appid";
    @SerializedName(SERIALIZED_NAME_ORIGINAL_ISV_APPID)
    private String originalIsvAppid;
  
    public static final String SERIALIZED_NAME_ORIGINAL_ISV_MOBILE = "original_isv_mobile";
    @SerializedName(SERIALIZED_NAME_ORIGINAL_ISV_MOBILE)
    private String originalIsvMobile;
  
    public static final String SERIALIZED_NAME_ORIGINAL_ISV_NAME = "original_isv_name";
    @SerializedName(SERIALIZED_NAME_ORIGINAL_ISV_NAME)
    private String originalIsvName;
  
    public static final String SERIALIZED_NAME_ORIGINAL_ISV_PID = "original_isv_pid";
    @SerializedName(SERIALIZED_NAME_ORIGINAL_ISV_PID)
    private String originalIsvPid;
  
    public static final String SERIALIZED_NAME_OUT_PARKING_ID = "out_parking_id";
    @SerializedName(SERIALIZED_NAME_OUT_PARKING_ID)
    private String outParkingId;
  
    public static final String SERIALIZED_NAME_PARKING_ADDRESS = "parking_address";
    @SerializedName(SERIALIZED_NAME_PARKING_ADDRESS)
    private String parkingAddress;
  
    public static final String SERIALIZED_NAME_PARKING_END_TIME = "parking_end_time";
    @SerializedName(SERIALIZED_NAME_PARKING_END_TIME)
    private String parkingEndTime;
  
    public static final String SERIALIZED_NAME_PARKING_FEE_DESCRIPTION = "parking_fee_description";
    @SerializedName(SERIALIZED_NAME_PARKING_FEE_DESCRIPTION)
    private String parkingFeeDescription;
  
    public static final String SERIALIZED_NAME_PARKING_FEE_DESCRIPTION_IMG = "parking_fee_description_img";
    @SerializedName(SERIALIZED_NAME_PARKING_FEE_DESCRIPTION_IMG)
    private String parkingFeeDescriptionImg;
  
    public static final String SERIALIZED_NAME_PARKING_LOT_TYPE = "parking_lot_type";
    @SerializedName(SERIALIZED_NAME_PARKING_LOT_TYPE)
    private String parkingLotType;
  
    public static final String SERIALIZED_NAME_PARKING_MOBILE = "parking_mobile";
    @SerializedName(SERIALIZED_NAME_PARKING_MOBILE)
    private String parkingMobile;
  
    public static final String SERIALIZED_NAME_PARKING_NAME = "parking_name";
    @SerializedName(SERIALIZED_NAME_PARKING_NAME)
    private String parkingName;
  
    public static final String SERIALIZED_NAME_PARKING_NUMBER = "parking_number";
    @SerializedName(SERIALIZED_NAME_PARKING_NUMBER)
    private String parkingNumber;
  
    public static final String SERIALIZED_NAME_PARKING_POIID = "parking_poiid";
    @SerializedName(SERIALIZED_NAME_PARKING_POIID)
    private String parkingPoiid;
  
    public static final String SERIALIZED_NAME_PARKING_START_TIME = "parking_start_time";
    @SerializedName(SERIALIZED_NAME_PARKING_START_TIME)
    private String parkingStartTime;
  
    public static final String SERIALIZED_NAME_PARKING_TYPE = "parking_type";
    @SerializedName(SERIALIZED_NAME_PARKING_TYPE)
    private String parkingType;
  
    public static final String SERIALIZED_NAME_PAY_TYPE = "pay_type";
    @SerializedName(SERIALIZED_NAME_PAY_TYPE)
    private String payType;
  
    public static final String SERIALIZED_NAME_PAYMENT_MODE = "payment_mode";
    @SerializedName(SERIALIZED_NAME_PAYMENT_MODE)
    private String paymentMode;
  
    public static final String SERIALIZED_NAME_SERIVCE_URL = "serivce_url";
    @SerializedName(SERIALIZED_NAME_SERIVCE_URL)
    private String serivceUrl;
  
    public static final String SERIALIZED_NAME_SERVICE_LIST = "service_list";
    @SerializedName(SERIALIZED_NAME_SERVICE_LIST)
    private List<ParkingLotServiceInfo> serviceList = null;
  
    public static final String SERIALIZED_NAME_SHOPINGMALL_ID = "shopingmall_id";
    @SerializedName(SERIALIZED_NAME_SHOPINGMALL_ID)
    private String shopingmallId;
  
    public static final String SERIALIZED_NAME_SUM_SPACE = "sum_space";
    @SerializedName(SERIALIZED_NAME_SUM_SPACE)
    private String sumSpace;
  
    public static final String SERIALIZED_NAME_SUPPORT_AFTER_PAY = "support_after_pay";
    @SerializedName(SERIALIZED_NAME_SUPPORT_AFTER_PAY)
    private String supportAfterPay;
  
    public static final String SERIALIZED_NAME_TIME_OUT = "time_out";
    @SerializedName(SERIALIZED_NAME_TIME_OUT)
    private String timeOut;
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel() { 
    }
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel agentId(String agentId) {
      
      this.agentId = agentId;
      return this;
    }
  
     /**
     * 服务商的支付宝账号ID（2088开头的16位纯数字，&lt;a href&#x3D;\&quot;https://opendocs.alipay.com/common/02ncut\&quot;&gt;获取方式&lt;/a&gt;），由服务商提供给ISV
     * @return agentId
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "2088456825942563", value = "服务商的支付宝账号ID（2088开头的16位纯数字，<a href=\"https://opendocs.alipay.com/common/02ncut\">获取方式</a>），由服务商提供给ISV")
  
    public String getAgentId() {
      return agentId;
    }
  
  
    public void setAgentId(String agentId) {
      this.agentId = agentId;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel businessIsv(List<BusinessItem> businessIsv) {
      
      this.businessIsv = businessIsv;
      return this;
    }
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel addBusinessIsvItem(BusinessItem businessIsvItem) {
      if (this.businessIsv == null) {
        this.businessIsv = new ArrayList<>();
      }
      this.businessIsv.add(businessIsvItem);
      return this;
    }
  
     /**
     * 车场业务归属列表
     * @return businessIsv
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(value = "车场业务归属列表")
  
    public List<BusinessItem> getBusinessIsv() {
      return businessIsv;
    }
  
  
    public void setBusinessIsv(List<BusinessItem> businessIsv) {
      this.businessIsv = businessIsv;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel chargeSumSpace(String chargeSumSpace) {
      
      this.chargeSumSpace = chargeSumSpace;
      return this;
    }
  
     /**
     * 停车场充电车位数 单位:个
     * @return chargeSumSpace
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "200", value = "停车场充电车位数 单位:个")
  
    public String getChargeSumSpace() {
      return chargeSumSpace;
    }
  
  
    public void setChargeSumSpace(String chargeSumSpace) {
      this.chargeSumSpace = chargeSumSpace;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel chargingRule(List<ParkingLotChargingRuleInfo> chargingRule) {
      
      this.chargingRule = chargingRule;
      return this;
    }
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel addChargingRuleItem(ParkingLotChargingRuleInfo chargingRuleItem) {
      if (this.chargingRule == null) {
        this.chargingRule = new ArrayList<>();
      }
      this.chargingRule.add(chargingRuleItem);
      return this;
    }
  
     /**
     * 停车场详细计费规则
     * @return chargingRule
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(value = "停车场详细计费规则")
  
    public List<ParkingLotChargingRuleInfo> getChargingRule() {
      return chargingRule;
    }
  
  
    public void setChargingRule(List<ParkingLotChargingRuleInfo> chargingRule) {
      this.chargingRule = chargingRule;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel cityId(String cityId) {
      
      this.cityId = cityId;
      return this;
    }
  
     /**
     * 该参数废弃
     * @return cityId
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "110101", value = "该参数废弃")
  
    public String getCityId() {
      return cityId;
    }
  
  
    public void setCityId(String cityId) {
      this.cityId = cityId;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel contactAlipay(String contactAlipay) {
      
      this.contactAlipay = contactAlipay;
      return this;
    }
  
     /**
     * 该参数废弃
     * @return contactAlipay
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "189xxxxxxxx", value = "该参数废弃")
  
    public String getContactAlipay() {
      return contactAlipay;
    }
  
  
    public void setContactAlipay(String contactAlipay) {
      this.contactAlipay = contactAlipay;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel contactEmali(String contactEmali) {
      
      this.contactEmali = contactEmali;
      return this;
    }
  
     /**
     * 该参数废弃
     * @return contactEmali
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "alipay@alipay.com", value = "该参数废弃")
  
    public String getContactEmali() {
      return contactEmali;
    }
  
  
    public void setContactEmali(String contactEmali) {
      this.contactEmali = contactEmali;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel contactMobile(String contactMobile) {
      
      this.contactMobile = contactMobile;
      return this;
    }
  
     /**
     * 该参数废弃
     * @return contactMobile
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "189xxxxxxxx", value = "该参数废弃")
  
    public String getContactMobile() {
      return contactMobile;
    }
  
  
    public void setContactMobile(String contactMobile) {
      this.contactMobile = contactMobile;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel contactName(String contactName) {
      
      this.contactName = contactName;
      return this;
    }
  
     /**
     * 该参数废弃
     * @return contactName
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "张三", value = "该参数废弃")
  
    public String getContactName() {
      return contactName;
    }
  
  
    public void setContactName(String contactName) {
      this.contactName = contactName;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel contactTel(String contactTel) {
      
      this.contactTel = contactTel;
      return this;
    }
  
     /**
     * 该参数废弃
     * @return contactTel
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "0571xxxxxxxx", value = "该参数废弃")
  
    public String getContactTel() {
      return contactTel;
    }
  
  
    public void setContactTel(String contactTel) {
      this.contactTel = contactTel;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel contactWeixin(String contactWeixin) {
      
      this.contactWeixin = contactWeixin;
      return this;
    }
  
     /**
     * 该参数废弃
     * @return contactWeixin
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "923422342", value = "该参数废弃")
  
    public String getContactWeixin() {
      return contactWeixin;
    }
  
  
    public void setContactWeixin(String contactWeixin) {
      this.contactWeixin = contactWeixin;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel equipmentName(String equipmentName) {
      
      this.equipmentName = equipmentName;
      return this;
    }
  
     /**
     * 该参数废弃
     * @return equipmentName
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "杭州立方", value = "该参数废弃")
  
    public String getEquipmentName() {
      return equipmentName;
    }
  
  
    public void setEquipmentName(String equipmentName) {
      this.equipmentName = equipmentName;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel isSupportInvoice(String isSupportInvoice) {
      
      this.isSupportInvoice = isSupportInvoice;
      return this;
    }
  
     /**
     * 是否支持电子发票。枚举支持： 0：表示不支持。 1：表示支持。
     * @return isSupportInvoice
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "1", value = "是否支持电子发票。枚举支持： 0：表示不支持。 1：表示支持。")
  
    public String getIsSupportInvoice() {
      return isSupportInvoice;
    }
  
  
    public void setIsSupportInvoice(String isSupportInvoice) {
      this.isSupportInvoice = isSupportInvoice;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel isvMobile(String isvMobile) {
      
      this.isvMobile = isvMobile;
      return this;
    }
  
     /**
     * ISV电话，传入original_isv_pid、original_isv_appid时，此处为服务商电话
     * @return isvMobile
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "571-8643-2799", value = "ISV电话，传入original_isv_pid、original_isv_appid时，此处为服务商电话")
  
    public String getIsvMobile() {
      return isvMobile;
    }
  
  
    public void setIsvMobile(String isvMobile) {
      this.isvMobile = isvMobile;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel latitude(String latitude) {
      
      this.latitude = latitude;
      return this;
    }
  
     /**
     * 纬度 单位:度
     * @return latitude
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "30.548828", value = "纬度 单位:度")
  
    public String getLatitude() {
      return latitude;
    }
  
  
    public void setLatitude(String latitude) {
      this.latitude = latitude;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel longitude(String longitude) {
      
      this.longitude = longitude;
      return this;
    }
  
     /**
     * 经度 单位:度
     * @return longitude
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "114.266418", value = "经度 单位:度")
  
    public String getLongitude() {
      return longitude;
    }
  
  
    public void setLongitude(String longitude) {
      this.longitude = longitude;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel mchntId(String mchntId) {
      
      this.mchntId = mchntId;
      return this;
    }
  
     /**
     * 收款方的支付宝账号ID（2088开头的16位纯数字，&lt;a href&#x3D;\&quot;https://opendocs.alipay.com/common/02ncut\&quot;&gt;获取方式&lt;/a&gt;），由停车场收款的业主方提供给ISV，该字段暂用于机具和物料申领
     * @return mchntId
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "2088456825942563", value = "收款方的支付宝账号ID（2088开头的16位纯数字，<a href=\"https://opendocs.alipay.com/common/02ncut\">获取方式</a>），由停车场收款的业主方提供给ISV，该字段暂用于机具和物料申领")
  
    public String getMchntId() {
      return mchntId;
    }
  
  
    public void setMchntId(String mchntId) {
      this.mchntId = mchntId;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel originalIsvAppid(String originalIsvAppid) {
      
      this.originalIsvAppid = originalIsvAppid;
      return this;
    }
  
     /**
     * ISV的APPID,服务商调用必传，由ISV提供给服务商
     * @return originalIsvAppid
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "2021002108619277", value = "ISV的APPID,服务商调用必传，由ISV提供给服务商")
  
    public String getOriginalIsvAppid() {
      return originalIsvAppid;
    }
  
  
    public void setOriginalIsvAppid(String originalIsvAppid) {
      this.originalIsvAppid = originalIsvAppid;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel originalIsvMobile(String originalIsvMobile) {
      
      this.originalIsvMobile = originalIsvMobile;
      return this;
    }
  
     /**
     * ISV电话，此值与isv_mobile组合使用
     * @return originalIsvMobile
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "571-8643-2799", value = "ISV电话，此值与isv_mobile组合使用")
  
    public String getOriginalIsvMobile() {
      return originalIsvMobile;
    }
  
  
    public void setOriginalIsvMobile(String originalIsvMobile) {
      this.originalIsvMobile = originalIsvMobile;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel originalIsvName(String originalIsvName) {
      
      this.originalIsvName = originalIsvName;
      return this;
    }
  
     /**
     * ISV的名称，服务商调用必传，由ISV提供给服务商
     * @return originalIsvName
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "杭州立方", value = "ISV的名称，服务商调用必传，由ISV提供给服务商")
  
    public String getOriginalIsvName() {
      return originalIsvName;
    }
  
  
    public void setOriginalIsvName(String originalIsvName) {
      this.originalIsvName = originalIsvName;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel originalIsvPid(String originalIsvPid) {
      
      this.originalIsvPid = originalIsvPid;
      return this;
    }
  
     /**
     * ISV的PID，服务商调用必传,由ISV提供给服务商
     * @return originalIsvPid
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "2088456825942563", value = "ISV的PID，服务商调用必传,由ISV提供给服务商")
  
    public String getOriginalIsvPid() {
      return originalIsvPid;
    }
  
  
    public void setOriginalIsvPid(String originalIsvPid) {
      this.originalIsvPid = originalIsvPid;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel outParkingId(String outParkingId) {
      
      this.outParkingId = outParkingId;
      return this;
    }
  
     /**
     * ISV停车场ID，由ISV 自定义，同一个isv或商户范围内唯一
     * @return outParkingId
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "10000110001", value = "ISV停车场ID，由ISV 自定义，同一个isv或商户范围内唯一")
  
    public String getOutParkingId() {
      return outParkingId;
    }
  
  
    public void setOutParkingId(String outParkingId) {
      this.outParkingId = outParkingId;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel parkingAddress(String parkingAddress) {
      
      this.parkingAddress = parkingAddress;
      return this;
    }
  
     /**
     * 停车场地址
     * @return parkingAddress
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "浙江省杭州市古墩路与疏港公路的交汇处", value = "停车场地址")
  
    public String getParkingAddress() {
      return parkingAddress;
    }
  
  
    public void setParkingAddress(String parkingAddress) {
      this.parkingAddress = parkingAddress;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel parkingEndTime(String parkingEndTime) {
      
      this.parkingEndTime = parkingEndTime;
      return this;
    }
  
     /**
     * 该参数废弃
     * @return parkingEndTime
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "03:07:50", value = "该参数废弃")
  
    public String getParkingEndTime() {
      return parkingEndTime;
    }
  
  
    public void setParkingEndTime(String parkingEndTime) {
      this.parkingEndTime = parkingEndTime;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel parkingFeeDescription(String parkingFeeDescription) {
      
      this.parkingFeeDescription = parkingFeeDescription;
      return this;
    }
  
     /**
     * 收费说明
     * @return parkingFeeDescription
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "免费时长30分钟，首2小时10元/小时，超过首2小时后2元/小时，封顶20元", value = "收费说明")
  
    public String getParkingFeeDescription() {
      return parkingFeeDescription;
    }
  
  
    public void setParkingFeeDescription(String parkingFeeDescription) {
      this.parkingFeeDescription = parkingFeeDescription;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel parkingFeeDescriptionImg(String parkingFeeDescriptionImg) {
      
      this.parkingFeeDescriptionImg = parkingFeeDescriptionImg;
      return this;
    }
  
     /**
     * 商户在停车平台露出的停车价格图片；注意：该图片为PNG格式内容为BASE64的字符串，大小不要超过1MB
     * @return parkingFeeDescriptionImg
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAE0lEQVQImWP81mfxn4GJAYQgAAAqvgLBUG4ufAAAAABJRU5ErkJggg==", value = "商户在停车平台露出的停车价格图片；注意：该图片为PNG格式内容为BASE64的字符串，大小不要超过1MB")
  
    public String getParkingFeeDescriptionImg() {
      return parkingFeeDescriptionImg;
    }
  
  
    public void setParkingFeeDescriptionImg(String parkingFeeDescriptionImg) {
      this.parkingFeeDescriptionImg = parkingFeeDescriptionImg;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel parkingLotType(String parkingLotType) {
      
      this.parkingLotType = parkingLotType;
      return this;
    }
  
     /**
     * 停车场类型，COMMUNITY为居民小区、BUSINESS_AREA为商圈停车场（购物中心商业广场商场等）、ROADSIDE为路侧停车、PARK_SCENIC为公园景点（景点乐园公园老街古镇等）、OFFICE_BUILDING为商务楼宇（酒店写字楼商务楼园区等）、OTHER为其他、TRANSPORTATION为交通枢纽（机场火车站汽车站码头港口等）、PUBLIC_FACILITIES为市政设施（体育场博物图书馆医院学校等）、TERRITORY独立园区（办公工业物流园区等）、BUSINESS_PLACE经营场所（4S店、门市餐饮等
     * @return parkingLotType
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "COMMUNITY", value = "停车场类型，COMMUNITY为居民小区、BUSINESS_AREA为商圈停车场（购物中心商业广场商场等）、ROADSIDE为路侧停车、PARK_SCENIC为公园景点（景点乐园公园老街古镇等）、OFFICE_BUILDING为商务楼宇（酒店写字楼商务楼园区等）、OTHER为其他、TRANSPORTATION为交通枢纽（机场火车站汽车站码头港口等）、PUBLIC_FACILITIES为市政设施（体育场博物图书馆医院学校等）、TERRITORY独立园区（办公工业物流园区等）、BUSINESS_PLACE经营场所（4S店、门市餐饮等")
  
    public String getParkingLotType() {
      return parkingLotType;
    }
  
  
    public void setParkingLotType(String parkingLotType) {
      this.parkingLotType = parkingLotType;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel parkingMobile(String parkingMobile) {
      
      this.parkingMobile = parkingMobile;
      return this;
    }
  
     /**
     * 停车场客服电话
     * @return parkingMobile
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "189XXXXXXXX", value = "停车场客服电话")
  
    public String getParkingMobile() {
      return parkingMobile;
    }
  
  
    public void setParkingMobile(String parkingMobile) {
      this.parkingMobile = parkingMobile;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel parkingName(String parkingName) {
      
      this.parkingName = parkingName;
      return this;
    }
  
     /**
     * 停车场名称，由ISV定义，尽量与高德地图上的一致。
     * @return parkingName
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "城西停车场", value = "停车场名称，由ISV定义，尽量与高德地图上的一致。")
  
    public String getParkingName() {
      return parkingName;
    }
  
  
    public void setParkingName(String parkingName) {
      this.parkingName = parkingName;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel parkingNumber(String parkingNumber) {
      
      this.parkingNumber = parkingNumber;
      return this;
    }
  
     /**
     * 该参数废弃
     * @return parkingNumber
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "10000", value = "该参数废弃")
  
    public String getParkingNumber() {
      return parkingNumber;
    }
  
  
    public void setParkingNumber(String parkingNumber) {
      this.parkingNumber = parkingNumber;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel parkingPoiid(String parkingPoiid) {
      
      this.parkingPoiid = parkingPoiid;
      return this;
    }
  
     /**
     * 如何获取parking_poiid（高德地图唯一标标识）参考文档 &lt;a href&#x3D;\&quot;https://opendocs.alipay.com/support/01rghx\&quot;&gt;https://opendocs.alipay.com/support/01rghx&lt;/a&gt; ；若无法成功获取高德POI时，也可选用经纬度的方式注册。
     * @return parkingPoiid
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "B000A9JM2H", value = "如何获取parking_poiid（高德地图唯一标标识）参考文档 <a href=\"https://opendocs.alipay.com/support/01rghx\">https://opendocs.alipay.com/support/01rghx</a> ；若无法成功获取高德POI时，也可选用经纬度的方式注册。")
  
    public String getParkingPoiid() {
      return parkingPoiid;
    }
  
  
    public void setParkingPoiid(String parkingPoiid) {
      this.parkingPoiid = parkingPoiid;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel parkingStartTime(String parkingStartTime) {
      
      this.parkingStartTime = parkingStartTime;
      return this;
    }
  
     /**
     * 该参数废弃
     * @return parkingStartTime
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "07:00:00", value = "该参数废弃")
  
    public String getParkingStartTime() {
      return parkingStartTime;
    }
  
  
    public void setParkingStartTime(String parkingStartTime) {
      this.parkingStartTime = parkingStartTime;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel parkingType(String parkingType) {
      
      this.parkingType = parkingType;
      return this;
    }
  
     /**
     * 该参数废弃
     * @return parkingType
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "2", value = "该参数废弃")
  
    public String getParkingType() {
      return parkingType;
    }
  
  
    public void setParkingType(String parkingType) {
      this.parkingType = parkingType;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel payType(String payType) {
      
      this.payType = payType;
      return this;
    }
  
     /**
     * 支付方式。枚举支持： 1：表示支付宝在线缴费。 2：表示支付宝代扣缴费。 3：表示当面付。 4:  现金 说明：如支持多种方式以 &#39;,&#39; 进行分隔。
     * @return payType
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "2", value = "支付方式。枚举支持： 1：表示支付宝在线缴费。 2：表示支付宝代扣缴费。 3：表示当面付。 4:  现金 说明：如支持多种方式以 ',' 进行分隔。")
  
    public String getPayType() {
      return payType;
    }
  
  
    public void setPayType(String payType) {
      this.payType = payType;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel paymentMode(String paymentMode) {
      
      this.paymentMode = paymentMode;
      return this;
    }
  
     /**
     * 该参数废弃
     * @return paymentMode
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "1", value = "该参数废弃")
  
    public String getPaymentMode() {
      return paymentMode;
    }
  
  
    public void setPaymentMode(String paymentMode) {
      this.paymentMode = paymentMode;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel serivceUrl(String serivceUrl) {
      
      this.serivceUrl = serivceUrl;
      return this;
    }
  
     /**
     * 提供用户查看停车状态、缴费功能
     * @return serivceUrl
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "alipays://platformapi/startapp", value = "提供用户查看停车状态、缴费功能")
  
    public String getSerivceUrl() {
      return serivceUrl;
    }
  
  
    public void setSerivceUrl(String serivceUrl) {
      this.serivceUrl = serivceUrl;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel serviceList(List<ParkingLotServiceInfo> serviceList) {
      
      this.serviceList = serviceList;
      return this;
    }
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel addServiceListItem(ParkingLotServiceInfo serviceListItem) {
      if (this.serviceList == null) {
        this.serviceList = new ArrayList<>();
      }
      this.serviceList.add(serviceListItem);
      return this;
    }
  
     /**
     * 停车场服务信息列表
     * @return serviceList
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(value = "停车场服务信息列表")
  
    public List<ParkingLotServiceInfo> getServiceList() {
      return serviceList;
    }
  
  
    public void setServiceList(List<ParkingLotServiceInfo> serviceList) {
      this.serviceList = serviceList;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel shopingmallId(String shopingmallId) {
      
      this.shopingmallId = shopingmallId;
      return this;
    }
  
     /**
     * 商圈id
     * @return shopingmallId
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "100001008", value = "商圈id")
  
    public String getShopingmallId() {
      return shopingmallId;
    }
  
  
    public void setShopingmallId(String shopingmallId) {
      this.shopingmallId = shopingmallId;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel sumSpace(String sumSpace) {
      
      this.sumSpace = sumSpace;
      return this;
    }
  
     /**
     * 停车场车位数 单位:个
     * @return sumSpace
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "3000", value = "停车场车位数 单位:个")
  
    public String getSumSpace() {
      return sumSpace;
    }
  
  
    public void setSumSpace(String sumSpace) {
      this.sumSpace = sumSpace;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel supportAfterPay(String supportAfterPay) {
      
      this.supportAfterPay = supportAfterPay;
      return this;
    }
  
     /**
     * 是否支持先离后付。枚举支持： Y：支持。 N：不支持。 说明：默认为空不支持，此参数适用于签约信用代扣的商户。
     * @return supportAfterPay
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "Y", value = "是否支持先离后付。枚举支持： Y：支持。 N：不支持。 说明：默认为空不支持，此参数适用于签约信用代扣的商户。")
  
    public String getSupportAfterPay() {
      return supportAfterPay;
    }
  
  
    public void setSupportAfterPay(String supportAfterPay) {
      this.supportAfterPay = supportAfterPay;
    }
  
  
    public AlipayEcoMycarParkingParkinglotinfoCreateModel timeOut(String timeOut) {
      
      this.timeOut = timeOut;
      return this;
    }
  
     /**
     * 用户支付未离场的超时时间(以分钟为单位)
     * @return timeOut
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(example = "13", value = "用户支付未离场的超时时间(以分钟为单位)")
  
    public String getTimeOut() {
      return timeOut;
    }
  
  
    public void setTimeOut(String timeOut) {
      this.timeOut = timeOut;
    }
  
    /**
     * A container for additional, undeclared properties.
     * This is a holder for any undeclared properties as specified with
     * the 'additionalProperties' keyword in the OAS document.
     */
    private Map<String, Object> additionalProperties;
  
    /**
     * Set the additional (undeclared) property with the specified name and value.
     * If the property does not already exist, create it otherwise replace it.
     *
     * @param key name of the property
     * @param value value of the property
     * @return the AlipayEcoMycarParkingParkinglotinfoCreateModel instance itself
     */
    public AlipayEcoMycarParkingParkinglotinfoCreateModel putAdditionalProperty(String key, Object value) {
      if (this.additionalProperties == null) {
          this.additionalProperties = new HashMap<String, Object>();
      }
      this.additionalProperties.put(key, value);
      return this;
    }
  
    /**
     * Return the additional (undeclared) property.
     *
     * @return a map of objects
     */
    public Map<String, Object> getAdditionalProperties() {
      return additionalProperties;
    }
  
    /**
     * Return the additional (undeclared) property with the specified name.
     *
     * @param key name of the property
     * @return an object
     */
    public Object getAdditionalProperty(String key) {
      if (this.additionalProperties == null) {
          return null;
      }
      return this.additionalProperties.get(key);
    }
  
  
    @Override
    public boolean equals(Object o) {
      if (this == o) {
        return true;
      }
      if (o == null || getClass() != o.getClass()) {
        return false;
      }
      AlipayEcoMycarParkingParkinglotinfoCreateModel alipayEcoMycarParkingParkinglotinfoCreateModel = (AlipayEcoMycarParkingParkinglotinfoCreateModel) o;
      return Objects.equals(this.agentId, alipayEcoMycarParkingParkinglotinfoCreateModel.agentId) &&
          Objects.equals(this.businessIsv, alipayEcoMycarParkingParkinglotinfoCreateModel.businessIsv) &&
          Objects.equals(this.chargeSumSpace, alipayEcoMycarParkingParkinglotinfoCreateModel.chargeSumSpace) &&
          Objects.equals(this.chargingRule, alipayEcoMycarParkingParkinglotinfoCreateModel.chargingRule) &&
          Objects.equals(this.cityId, alipayEcoMycarParkingParkinglotinfoCreateModel.cityId) &&
          Objects.equals(this.contactAlipay, alipayEcoMycarParkingParkinglotinfoCreateModel.contactAlipay) &&
          Objects.equals(this.contactEmali, alipayEcoMycarParkingParkinglotinfoCreateModel.contactEmali) &&
          Objects.equals(this.contactMobile, alipayEcoMycarParkingParkinglotinfoCreateModel.contactMobile) &&
          Objects.equals(this.contactName, alipayEcoMycarParkingParkinglotinfoCreateModel.contactName) &&
          Objects.equals(this.contactTel, alipayEcoMycarParkingParkinglotinfoCreateModel.contactTel) &&
          Objects.equals(this.contactWeixin, alipayEcoMycarParkingParkinglotinfoCreateModel.contactWeixin) &&
          Objects.equals(this.equipmentName, alipayEcoMycarParkingParkinglotinfoCreateModel.equipmentName) &&
          Objects.equals(this.isSupportInvoice, alipayEcoMycarParkingParkinglotinfoCreateModel.isSupportInvoice) &&
          Objects.equals(this.isvMobile, alipayEcoMycarParkingParkinglotinfoCreateModel.isvMobile) &&
          Objects.equals(this.latitude, alipayEcoMycarParkingParkinglotinfoCreateModel.latitude) &&
          Objects.equals(this.longitude, alipayEcoMycarParkingParkinglotinfoCreateModel.longitude) &&
          Objects.equals(this.mchntId, alipayEcoMycarParkingParkinglotinfoCreateModel.mchntId) &&
          Objects.equals(this.originalIsvAppid, alipayEcoMycarParkingParkinglotinfoCreateModel.originalIsvAppid) &&
          Objects.equals(this.originalIsvMobile, alipayEcoMycarParkingParkinglotinfoCreateModel.originalIsvMobile) &&
          Objects.equals(this.originalIsvName, alipayEcoMycarParkingParkinglotinfoCreateModel.originalIsvName) &&
          Objects.equals(this.originalIsvPid, alipayEcoMycarParkingParkinglotinfoCreateModel.originalIsvPid) &&
          Objects.equals(this.outParkingId, alipayEcoMycarParkingParkinglotinfoCreateModel.outParkingId) &&
          Objects.equals(this.parkingAddress, alipayEcoMycarParkingParkinglotinfoCreateModel.parkingAddress) &&
          Objects.equals(this.parkingEndTime, alipayEcoMycarParkingParkinglotinfoCreateModel.parkingEndTime) &&
          Objects.equals(this.parkingFeeDescription, alipayEcoMycarParkingParkinglotinfoCreateModel.parkingFeeDescription) &&
          Objects.equals(this.parkingFeeDescriptionImg, alipayEcoMycarParkingParkinglotinfoCreateModel.parkingFeeDescriptionImg) &&
          Objects.equals(this.parkingLotType, alipayEcoMycarParkingParkinglotinfoCreateModel.parkingLotType) &&
          Objects.equals(this.parkingMobile, alipayEcoMycarParkingParkinglotinfoCreateModel.parkingMobile) &&
          Objects.equals(this.parkingName, alipayEcoMycarParkingParkinglotinfoCreateModel.parkingName) &&
          Objects.equals(this.parkingNumber, alipayEcoMycarParkingParkinglotinfoCreateModel.parkingNumber) &&
          Objects.equals(this.parkingPoiid, alipayEcoMycarParkingParkinglotinfoCreateModel.parkingPoiid) &&
          Objects.equals(this.parkingStartTime, alipayEcoMycarParkingParkinglotinfoCreateModel.parkingStartTime) &&
          Objects.equals(this.parkingType, alipayEcoMycarParkingParkinglotinfoCreateModel.parkingType) &&
          Objects.equals(this.payType, alipayEcoMycarParkingParkinglotinfoCreateModel.payType) &&
          Objects.equals(this.paymentMode, alipayEcoMycarParkingParkinglotinfoCreateModel.paymentMode) &&
          Objects.equals(this.serivceUrl, alipayEcoMycarParkingParkinglotinfoCreateModel.serivceUrl) &&
          Objects.equals(this.serviceList, alipayEcoMycarParkingParkinglotinfoCreateModel.serviceList) &&
          Objects.equals(this.shopingmallId, alipayEcoMycarParkingParkinglotinfoCreateModel.shopingmallId) &&
          Objects.equals(this.sumSpace, alipayEcoMycarParkingParkinglotinfoCreateModel.sumSpace) &&
          Objects.equals(this.supportAfterPay, alipayEcoMycarParkingParkinglotinfoCreateModel.supportAfterPay) &&
          Objects.equals(this.timeOut, alipayEcoMycarParkingParkinglotinfoCreateModel.timeOut)&&
          Objects.equals(this.additionalProperties, alipayEcoMycarParkingParkinglotinfoCreateModel.additionalProperties);
    }
  
    @Override
    public int hashCode() {
      return Objects.hash(agentId, businessIsv, chargeSumSpace, chargingRule, cityId, contactAlipay, contactEmali, contactMobile, contactName, contactTel, contactWeixin, equipmentName, isSupportInvoice, isvMobile, latitude, longitude, mchntId, originalIsvAppid, originalIsvMobile, originalIsvName, originalIsvPid, outParkingId, parkingAddress, parkingEndTime, parkingFeeDescription, parkingFeeDescriptionImg, parkingLotType, parkingMobile, parkingName, parkingNumber, parkingPoiid, parkingStartTime, parkingType, payType, paymentMode, serivceUrl, serviceList, shopingmallId, sumSpace, supportAfterPay, timeOut, additionalProperties);
    }
  
    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder();
      sb.append("class AlipayEcoMycarParkingParkinglotinfoCreateModel {\n");
      sb.append("    agentId: ").append(toIndentedString(agentId)).append("\n");
      sb.append("    businessIsv: ").append(toIndentedString(businessIsv)).append("\n");
      sb.append("    chargeSumSpace: ").append(toIndentedString(chargeSumSpace)).append("\n");
      sb.append("    chargingRule: ").append(toIndentedString(chargingRule)).append("\n");
      sb.append("    cityId: ").append(toIndentedString(cityId)).append("\n");
      sb.append("    contactAlipay: ").append(toIndentedString(contactAlipay)).append("\n");
      sb.append("    contactEmali: ").append(toIndentedString(contactEmali)).append("\n");
      sb.append("    contactMobile: ").append(toIndentedString(contactMobile)).append("\n");
      sb.append("    contactName: ").append(toIndentedString(contactName)).append("\n");
      sb.append("    contactTel: ").append(toIndentedString(contactTel)).append("\n");
      sb.append("    contactWeixin: ").append(toIndentedString(contactWeixin)).append("\n");
      sb.append("    equipmentName: ").append(toIndentedString(equipmentName)).append("\n");
      sb.append("    isSupportInvoice: ").append(toIndentedString(isSupportInvoice)).append("\n");
      sb.append("    isvMobile: ").append(toIndentedString(isvMobile)).append("\n");
      sb.append("    latitude: ").append(toIndentedString(latitude)).append("\n");
      sb.append("    longitude: ").append(toIndentedString(longitude)).append("\n");
      sb.append("    mchntId: ").append(toIndentedString(mchntId)).append("\n");
      sb.append("    originalIsvAppid: ").append(toIndentedString(originalIsvAppid)).append("\n");
      sb.append("    originalIsvMobile: ").append(toIndentedString(originalIsvMobile)).append("\n");
      sb.append("    originalIsvName: ").append(toIndentedString(originalIsvName)).append("\n");
      sb.append("    originalIsvPid: ").append(toIndentedString(originalIsvPid)).append("\n");
      sb.append("    outParkingId: ").append(toIndentedString(outParkingId)).append("\n");
      sb.append("    parkingAddress: ").append(toIndentedString(parkingAddress)).append("\n");
      sb.append("    parkingEndTime: ").append(toIndentedString(parkingEndTime)).append("\n");
      sb.append("    parkingFeeDescription: ").append(toIndentedString(parkingFeeDescription)).append("\n");
      sb.append("    parkingFeeDescriptionImg: ").append(toIndentedString(parkingFeeDescriptionImg)).append("\n");
      sb.append("    parkingLotType: ").append(toIndentedString(parkingLotType)).append("\n");
      sb.append("    parkingMobile: ").append(toIndentedString(parkingMobile)).append("\n");
      sb.append("    parkingName: ").append(toIndentedString(parkingName)).append("\n");
      sb.append("    parkingNumber: ").append(toIndentedString(parkingNumber)).append("\n");
      sb.append("    parkingPoiid: ").append(toIndentedString(parkingPoiid)).append("\n");
      sb.append("    parkingStartTime: ").append(toIndentedString(parkingStartTime)).append("\n");
      sb.append("    parkingType: ").append(toIndentedString(parkingType)).append("\n");
      sb.append("    payType: ").append(toIndentedString(payType)).append("\n");
      sb.append("    paymentMode: ").append(toIndentedString(paymentMode)).append("\n");
      sb.append("    serivceUrl: ").append(toIndentedString(serivceUrl)).append("\n");
      sb.append("    serviceList: ").append(toIndentedString(serviceList)).append("\n");
      sb.append("    shopingmallId: ").append(toIndentedString(shopingmallId)).append("\n");
      sb.append("    sumSpace: ").append(toIndentedString(sumSpace)).append("\n");
      sb.append("    supportAfterPay: ").append(toIndentedString(supportAfterPay)).append("\n");
      sb.append("    timeOut: ").append(toIndentedString(timeOut)).append("\n");
      sb.append("    additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n");
      sb.append("}");
      return sb.toString();
    }
  
    /**
     * Convert the given object to string with each line indented by 4 spaces
     * (except the first line).
     */
    private String toIndentedString(Object o) {
      if (o == null) {
        return "null";
      }
      return o.toString().replace("\n", "\n    ");
    }
  
  
    public static HashSet<String> openapiFields;
    public static HashSet<String> openapiRequiredFields;
  
    static {
      // a set of all properties/fields (JSON key names)
      openapiFields = new HashSet<String>();
      openapiFields.add("agent_id");
      openapiFields.add("business_isv");
      openapiFields.add("charge_sum_space");
      openapiFields.add("charging_rule");
      openapiFields.add("city_id");
      openapiFields.add("contact_alipay");
      openapiFields.add("contact_emali");
      openapiFields.add("contact_mobile");
      openapiFields.add("contact_name");
      openapiFields.add("contact_tel");
      openapiFields.add("contact_weixin");
      openapiFields.add("equipment_name");
      openapiFields.add("is_support_invoice");
      openapiFields.add("isv_mobile");
      openapiFields.add("latitude");
      openapiFields.add("longitude");
      openapiFields.add("mchnt_id");
      openapiFields.add("original_isv_appid");
      openapiFields.add("original_isv_mobile");
      openapiFields.add("original_isv_name");
      openapiFields.add("original_isv_pid");
      openapiFields.add("out_parking_id");
      openapiFields.add("parking_address");
      openapiFields.add("parking_end_time");
      openapiFields.add("parking_fee_description");
      openapiFields.add("parking_fee_description_img");
      openapiFields.add("parking_lot_type");
      openapiFields.add("parking_mobile");
      openapiFields.add("parking_name");
      openapiFields.add("parking_number");
      openapiFields.add("parking_poiid");
      openapiFields.add("parking_start_time");
      openapiFields.add("parking_type");
      openapiFields.add("pay_type");
      openapiFields.add("payment_mode");
      openapiFields.add("serivce_url");
      openapiFields.add("service_list");
      openapiFields.add("shopingmall_id");
      openapiFields.add("sum_space");
      openapiFields.add("support_after_pay");
      openapiFields.add("time_out");
  
      // a set of required properties/fields (JSON key names)
      openapiRequiredFields = new HashSet<String>();
    }
  
   /**
    * Validates the JSON Object and throws an exception if issues found
    *
    * @param jsonObj JSON Object
    * @throws IOException if the JSON Object is invalid with respect to AlipayEcoMycarParkingParkinglotinfoCreateModel
    */
    public static void validateJsonObject(JsonObject jsonObj) throws IOException {
        if (jsonObj == null) {
          if (AlipayEcoMycarParkingParkinglotinfoCreateModel.openapiRequiredFields.isEmpty()) {
            return;
          } else { // has required fields
            throw new IllegalArgumentException(String.format("The required field(s) %s in AlipayEcoMycarParkingParkinglotinfoCreateModel is not found in the empty JSON string", AlipayEcoMycarParkingParkinglotinfoCreateModel.openapiRequiredFields.toString()));
          }
        }
        if (jsonObj.get("agent_id") != null && !jsonObj.get("agent_id").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `agent_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("agent_id").toString()));
        }
        JsonArray jsonArraybusinessIsv = jsonObj.getAsJsonArray("business_isv");
        if (jsonArraybusinessIsv != null) {
          // ensure the json data is an array
          if (!jsonObj.get("business_isv").isJsonArray()) {
            throw new IllegalArgumentException(String.format("Expected the field `business_isv` to be an array in the JSON string but got `%s`", jsonObj.get("business_isv").toString()));
          }
  
          // validate the optional field `business_isv` (array)
          for (int i = 0; i < jsonArraybusinessIsv.size(); i++) {
            BusinessItem.validateJsonObject(jsonArraybusinessIsv.get(i).getAsJsonObject());
          };
        }
        if (jsonObj.get("charge_sum_space") != null && !jsonObj.get("charge_sum_space").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `charge_sum_space` to be a primitive type in the JSON string but got `%s`", jsonObj.get("charge_sum_space").toString()));
        }
        JsonArray jsonArraychargingRule = jsonObj.getAsJsonArray("charging_rule");
        if (jsonArraychargingRule != null) {
          // ensure the json data is an array
          if (!jsonObj.get("charging_rule").isJsonArray()) {
            throw new IllegalArgumentException(String.format("Expected the field `charging_rule` to be an array in the JSON string but got `%s`", jsonObj.get("charging_rule").toString()));
          }
  
          // validate the optional field `charging_rule` (array)
          for (int i = 0; i < jsonArraychargingRule.size(); i++) {
            ParkingLotChargingRuleInfo.validateJsonObject(jsonArraychargingRule.get(i).getAsJsonObject());
          };
        }
        if (jsonObj.get("city_id") != null && !jsonObj.get("city_id").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `city_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("city_id").toString()));
        }
        if (jsonObj.get("contact_alipay") != null && !jsonObj.get("contact_alipay").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `contact_alipay` to be a primitive type in the JSON string but got `%s`", jsonObj.get("contact_alipay").toString()));
        }
        if (jsonObj.get("contact_emali") != null && !jsonObj.get("contact_emali").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `contact_emali` to be a primitive type in the JSON string but got `%s`", jsonObj.get("contact_emali").toString()));
        }
        if (jsonObj.get("contact_mobile") != null && !jsonObj.get("contact_mobile").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `contact_mobile` to be a primitive type in the JSON string but got `%s`", jsonObj.get("contact_mobile").toString()));
        }
        if (jsonObj.get("contact_name") != null && !jsonObj.get("contact_name").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `contact_name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("contact_name").toString()));
        }
        if (jsonObj.get("contact_tel") != null && !jsonObj.get("contact_tel").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `contact_tel` to be a primitive type in the JSON string but got `%s`", jsonObj.get("contact_tel").toString()));
        }
        if (jsonObj.get("contact_weixin") != null && !jsonObj.get("contact_weixin").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `contact_weixin` to be a primitive type in the JSON string but got `%s`", jsonObj.get("contact_weixin").toString()));
        }
        if (jsonObj.get("equipment_name") != null && !jsonObj.get("equipment_name").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `equipment_name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("equipment_name").toString()));
        }
        if (jsonObj.get("is_support_invoice") != null && !jsonObj.get("is_support_invoice").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `is_support_invoice` to be a primitive type in the JSON string but got `%s`", jsonObj.get("is_support_invoice").toString()));
        }
        if (jsonObj.get("isv_mobile") != null && !jsonObj.get("isv_mobile").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `isv_mobile` to be a primitive type in the JSON string but got `%s`", jsonObj.get("isv_mobile").toString()));
        }
        if (jsonObj.get("latitude") != null && !jsonObj.get("latitude").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `latitude` to be a primitive type in the JSON string but got `%s`", jsonObj.get("latitude").toString()));
        }
        if (jsonObj.get("longitude") != null && !jsonObj.get("longitude").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `longitude` to be a primitive type in the JSON string but got `%s`", jsonObj.get("longitude").toString()));
        }
        if (jsonObj.get("mchnt_id") != null && !jsonObj.get("mchnt_id").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `mchnt_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("mchnt_id").toString()));
        }
        if (jsonObj.get("original_isv_appid") != null && !jsonObj.get("original_isv_appid").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `original_isv_appid` to be a primitive type in the JSON string but got `%s`", jsonObj.get("original_isv_appid").toString()));
        }
        if (jsonObj.get("original_isv_mobile") != null && !jsonObj.get("original_isv_mobile").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `original_isv_mobile` to be a primitive type in the JSON string but got `%s`", jsonObj.get("original_isv_mobile").toString()));
        }
        if (jsonObj.get("original_isv_name") != null && !jsonObj.get("original_isv_name").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `original_isv_name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("original_isv_name").toString()));
        }
        if (jsonObj.get("original_isv_pid") != null && !jsonObj.get("original_isv_pid").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `original_isv_pid` to be a primitive type in the JSON string but got `%s`", jsonObj.get("original_isv_pid").toString()));
        }
        if (jsonObj.get("out_parking_id") != null && !jsonObj.get("out_parking_id").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `out_parking_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("out_parking_id").toString()));
        }
        if (jsonObj.get("parking_address") != null && !jsonObj.get("parking_address").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `parking_address` to be a primitive type in the JSON string but got `%s`", jsonObj.get("parking_address").toString()));
        }
        if (jsonObj.get("parking_end_time") != null && !jsonObj.get("parking_end_time").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `parking_end_time` to be a primitive type in the JSON string but got `%s`", jsonObj.get("parking_end_time").toString()));
        }
        if (jsonObj.get("parking_fee_description") != null && !jsonObj.get("parking_fee_description").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `parking_fee_description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("parking_fee_description").toString()));
        }
        if (jsonObj.get("parking_fee_description_img") != null && !jsonObj.get("parking_fee_description_img").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `parking_fee_description_img` to be a primitive type in the JSON string but got `%s`", jsonObj.get("parking_fee_description_img").toString()));
        }
        if (jsonObj.get("parking_lot_type") != null && !jsonObj.get("parking_lot_type").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `parking_lot_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("parking_lot_type").toString()));
        }
        if (jsonObj.get("parking_mobile") != null && !jsonObj.get("parking_mobile").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `parking_mobile` to be a primitive type in the JSON string but got `%s`", jsonObj.get("parking_mobile").toString()));
        }
        if (jsonObj.get("parking_name") != null && !jsonObj.get("parking_name").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `parking_name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("parking_name").toString()));
        }
        if (jsonObj.get("parking_number") != null && !jsonObj.get("parking_number").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `parking_number` to be a primitive type in the JSON string but got `%s`", jsonObj.get("parking_number").toString()));
        }
        if (jsonObj.get("parking_poiid") != null && !jsonObj.get("parking_poiid").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `parking_poiid` to be a primitive type in the JSON string but got `%s`", jsonObj.get("parking_poiid").toString()));
        }
        if (jsonObj.get("parking_start_time") != null && !jsonObj.get("parking_start_time").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `parking_start_time` to be a primitive type in the JSON string but got `%s`", jsonObj.get("parking_start_time").toString()));
        }
        if (jsonObj.get("parking_type") != null && !jsonObj.get("parking_type").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `parking_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("parking_type").toString()));
        }
        if (jsonObj.get("pay_type") != null && !jsonObj.get("pay_type").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `pay_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("pay_type").toString()));
        }
        if (jsonObj.get("payment_mode") != null && !jsonObj.get("payment_mode").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `payment_mode` to be a primitive type in the JSON string but got `%s`", jsonObj.get("payment_mode").toString()));
        }
        if (jsonObj.get("serivce_url") != null && !jsonObj.get("serivce_url").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `serivce_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("serivce_url").toString()));
        }
        JsonArray jsonArrayserviceList = jsonObj.getAsJsonArray("service_list");
        if (jsonArrayserviceList != null) {
          // ensure the json data is an array
          if (!jsonObj.get("service_list").isJsonArray()) {
            throw new IllegalArgumentException(String.format("Expected the field `service_list` to be an array in the JSON string but got `%s`", jsonObj.get("service_list").toString()));
          }
  
          // validate the optional field `service_list` (array)
          for (int i = 0; i < jsonArrayserviceList.size(); i++) {
            ParkingLotServiceInfo.validateJsonObject(jsonArrayserviceList.get(i).getAsJsonObject());
          };
        }
        if (jsonObj.get("shopingmall_id") != null && !jsonObj.get("shopingmall_id").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `shopingmall_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("shopingmall_id").toString()));
        }
        if (jsonObj.get("sum_space") != null && !jsonObj.get("sum_space").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `sum_space` to be a primitive type in the JSON string but got `%s`", jsonObj.get("sum_space").toString()));
        }
        if (jsonObj.get("support_after_pay") != null && !jsonObj.get("support_after_pay").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `support_after_pay` to be a primitive type in the JSON string but got `%s`", jsonObj.get("support_after_pay").toString()));
        }
        if (jsonObj.get("time_out") != null && !jsonObj.get("time_out").isJsonPrimitive()) {
          throw new IllegalArgumentException(String.format("Expected the field `time_out` to be a primitive type in the JSON string but got `%s`", jsonObj.get("time_out").toString()));
        }
    }
  
    public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
      @SuppressWarnings("unchecked")
      @Override
      public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {
         if (!AlipayEcoMycarParkingParkinglotinfoCreateModel.class.isAssignableFrom(type.getRawType())) {
           return null; // this class only serializes 'AlipayEcoMycarParkingParkinglotinfoCreateModel' and its subtypes
         }
         final TypeAdapter<JsonElement> elementAdapter = gson.getAdapter(JsonElement.class);
         final TypeAdapter<AlipayEcoMycarParkingParkinglotinfoCreateModel> thisAdapter
                          = gson.getDelegateAdapter(this, TypeToken.get(AlipayEcoMycarParkingParkinglotinfoCreateModel.class));
  
         return (TypeAdapter<T>) new TypeAdapter<AlipayEcoMycarParkingParkinglotinfoCreateModel>() {
             @Override
             public void write(JsonWriter out, AlipayEcoMycarParkingParkinglotinfoCreateModel value) throws IOException {
               JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
               obj.remove("additionalProperties");
               // serialize additonal properties
               if (value.getAdditionalProperties() != null) {
                 for (Map.Entry<String, Object> entry : value.getAdditionalProperties().entrySet()) {
                   if (entry.getValue() instanceof String)
                     obj.addProperty(entry.getKey(), (String) entry.getValue());
                   else if (entry.getValue() instanceof Number)
                     obj.addProperty(entry.getKey(), (Number) entry.getValue());
                   else if (entry.getValue() instanceof Boolean)
                     obj.addProperty(entry.getKey(), (Boolean) entry.getValue());
                   else if (entry.getValue() instanceof Character)
                     obj.addProperty(entry.getKey(), (Character) entry.getValue());
                   else {
                     obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject());
                   }
                 }
               }
               elementAdapter.write(out, obj);
             }
  
             @Override
             public AlipayEcoMycarParkingParkinglotinfoCreateModel read(JsonReader in) throws IOException {
               JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject();
               validateJsonObject(jsonObj);
               // store additional fields in the deserialized instance
               AlipayEcoMycarParkingParkinglotinfoCreateModel instance = thisAdapter.fromJsonTree(jsonObj);
               for (Map.Entry<String, JsonElement> entry : jsonObj.entrySet()) {
                 if (!openapiFields.contains(entry.getKey())) {
                   if (entry.getValue().isJsonPrimitive()) { // primitive type
                     if (entry.getValue().getAsJsonPrimitive().isString())
                       instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString());
                     else if (entry.getValue().getAsJsonPrimitive().isNumber())
                       instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber());
                     else if (entry.getValue().getAsJsonPrimitive().isBoolean())
                       instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean());
                     else
                       throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString()));
                   } else { // non-primitive type
                     instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class));
                   }
                 }
               }
               return instance;
             }
  
         }.nullSafe();
      }
    }
  
   /**
    * Create an instance of AlipayEcoMycarParkingParkinglotinfoCreateModel given an JSON string
    *
    * @param jsonString JSON string
    * @return An instance of AlipayEcoMycarParkingParkinglotinfoCreateModel
    * @throws IOException if the JSON string is invalid with respect to AlipayEcoMycarParkingParkinglotinfoCreateModel
    */
    public static AlipayEcoMycarParkingParkinglotinfoCreateModel fromJson(String jsonString) throws IOException {
      return JSON.getGson().fromJson(jsonString, AlipayEcoMycarParkingParkinglotinfoCreateModel.class);
    }
  
   /**
    * Convert an instance of AlipayEcoMycarParkingParkinglotinfoCreateModel to an JSON string
    *
    * @return JSON string
    */
    public String toJson() {
      return JSON.getGson().toJson(this);
    }
  }
  
  