package com.taobao.api.domain;

import java.util.Date;

import com.taobao.api.TaobaoObject;
import com.taobao.api.internal.mapping.ApiField;

/**
 * 卖家定购的服务
 *
 * @author auto create
 * @since 1.0, null
 */
public class WlbSellerSubscription extends TaobaoObject {

    private static final long serialVersionUID = 3684637218185169117L;

    /**
     * 定购有效结束日期
     */
    @ApiField("end_date")
    private Date endDate;

    /**
     * 创建时间
     */
    @ApiField("gmt_create")
    private Date gmtCreate;

    /**
     * 修改时间
     */
    @ApiField("gmt_modified")
    private Date gmtModified;

    /**
     * 定购ID
     */
    @ApiField("id")
    private Long id;

    /**
     * 判断该仓库是否是实体仓，还是虚拟仓，null是实体仓，10:代表虚拟仓
     */
    @ApiField("is_own_service")
    private Long isOwnService;

    /**
     * 父定购ID 可通过该字段来得之服务上下级关系。 例定购了仓储服务，下又有TMS服务。 该字段保存仓储服务ID。
     */
    @ApiField("parent_id")
    private Long parentId;

    /**
     * 服务商ID
     */
    @ApiField("provider_user_id")
    private Long providerUserId;

    /**
     * 备注
     */
    @ApiField("remark")
    private String remark;

    /**
     * 自有仓的别名，当当前订购记录为自有仓时才会有值
     */
    @ApiField("service_alias")
    private String serviceAlias;

    /**
     * 服务编码
     */
    @ApiField("service_code")
    private String serviceCode;

    /**
     * 服务ID
     */
    @ApiField("service_id")
    private Long serviceId;

    /**
     * 服务名
     */
    @ApiField("service_name")
    private String serviceName;

    /**
     * 服务类型， STORE 1-仓储、 TMS 2-TMS、 PACKAGE 3-包装服务 SUPPLIER 4-供货 INSTALL
     * 5-安装 COMPLEX_SERVICE 100-综合服务
     */
    @ApiField("service_type")
    private String serviceType;

    /**
     * 定购有效开始日期
     */
    @ApiField("start_date")
    private Date startDate;

    /**
     * 状态 AUDITING 1-待审核 CANCEL 2-撤销 CHECKED 3-审核通过 FAILED 4-审核未通过
     * SYNCHRONIZING 5-同步中
     */
    @ApiField("status")
    private String status;

    /**
     * 定购用户ID
     */
    @ApiField("subscriber_user_id")
    private Long subscriberUserId;

    /**
     * 定购用户NICK
     */
    @ApiField("subscriber_user_nick")
    private String subscriberUserNick;

    /**
     * 联系人地址信息
     */
    @ApiField("wlb_partner_address")
    private WlbPartnerAddress wlbPartnerAddress;

    /**
     * 联系人联系详情
     */
    @ApiField("wlb_partner_contact")
    private WlbPartnerContact wlbPartnerContact;

    public Date getEndDate() {
        return this.endDate;
    }

    public Date getGmtCreate() {
        return this.gmtCreate;
    }

    public Date getGmtModified() {
        return this.gmtModified;
    }

    public Long getId() {
        return this.id;
    }

    public Long getIsOwnService() {
        return this.isOwnService;
    }

    public Long getParentId() {
        return this.parentId;
    }

    public Long getProviderUserId() {
        return this.providerUserId;
    }

    public String getRemark() {
        return this.remark;
    }

    public String getServiceAlias() {
        return this.serviceAlias;
    }

    public String getServiceCode() {
        return this.serviceCode;
    }

    public Long getServiceId() {
        return this.serviceId;
    }

    public String getServiceName() {
        return this.serviceName;
    }

    public String getServiceType() {
        return this.serviceType;
    }

    public Date getStartDate() {
        return this.startDate;
    }

    public String getStatus() {
        return this.status;
    }

    public Long getSubscriberUserId() {
        return this.subscriberUserId;
    }

    public String getSubscriberUserNick() {
        return this.subscriberUserNick;
    }

    public WlbPartnerAddress getWlbPartnerAddress() {
        return this.wlbPartnerAddress;
    }

    public WlbPartnerContact getWlbPartnerContact() {
        return this.wlbPartnerContact;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public void setGmtModified(Date gmtModified) {
        this.gmtModified = gmtModified;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public void setIsOwnService(Long isOwnService) {
        this.isOwnService = isOwnService;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public void setProviderUserId(Long providerUserId) {
        this.providerUserId = providerUserId;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public void setServiceAlias(String serviceAlias) {
        this.serviceAlias = serviceAlias;
    }

    public void setServiceCode(String serviceCode) {
        this.serviceCode = serviceCode;
    }

    public void setServiceId(Long serviceId) {
        this.serviceId = serviceId;
    }

    public void setServiceName(String serviceName) {
        this.serviceName = serviceName;
    }

    public void setServiceType(String serviceType) {
        this.serviceType = serviceType;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public void setSubscriberUserId(Long subscriberUserId) {
        this.subscriberUserId = subscriberUserId;
    }

    public void setSubscriberUserNick(String subscriberUserNick) {
        this.subscriberUserNick = subscriberUserNick;
    }

    public void setWlbPartnerAddress(WlbPartnerAddress wlbPartnerAddress) {
        this.wlbPartnerAddress = wlbPartnerAddress;
    }

    public void setWlbPartnerContact(WlbPartnerContact wlbPartnerContact) {
        this.wlbPartnerContact = wlbPartnerContact;
    }

}
