using Newtonsoft.Json;
using System.ComponentModel.DataAnnotations;
using Tea;

namespace LifePayment.Domain
{
    public class UserAgreementQueryResponse : AlipayBaseOutput
    {
        /// <summary>
        /// 协议生效时间,格式为 yyyy-MM-dd HH:mm:ss。
        /// </summary>
        [NameInMap("valid_time")]
        public string ValidTime
        {
            get;
            set;
        }

        /// <summary>
        /// 返回脱敏的支付宝账号
        /// </summary>
        [NameInMap("alipay_logon_id")]
        public string AlipayLogonId
        {
            get;
            set;
        }

        /// <summary>
        /// 协议失效时间,格式为 yyyy-MM-dd HH:mm:ss。
        /// </summary>
        [NameInMap("invalid_time")]
        public string InvalidTime
        {
            get;
            set;
        }

        /// <summary>
        /// 签约主体类型。
        /// CARD:支付宝账号
        /// CUSTOMER:支付宝用户
        /// </summary>
        [NameInMap("pricipal_type")]
        public string PricipalType
        {
            get;
            set;
        }

        /// <summary>
        /// 签约协议的场景。
        /// </summary>
        [NameInMap("sign_scene")]
        public string SignScene
        {
            get;
            set;
        }

        /// <summary>
        /// 用户签约成功后的协议号
        /// </summary>
        [NameInMap("agreement_no")]
        public string AgreementNo
        {
            get;
            set;
        }

        /// <summary>
        /// 签约第三方主体类型。对于三方协议,表示当前用户和哪一类的第三方主体进行签约。
        /// 取值范围:
        /// 1. PARTNER(平台商户);
        /// 2. MERCHANT(集团商户),集团下子商户可共享用户签约内容;
        /// 默认为PARTNER。
        /// </summary>
        [NameInMap("third_party_type")]
        public string ThirdPartyType
        {
            get;
            set;
        }

        /// <summary>
        /// 协议当前状态
        /// 1. TEMP:暂存,协议未生效过;
        /// 2. NORMAL:正常;
        /// 3. STOP:暂停
        /// </summary>
        [NameInMap("status")]
        public string Status
        {
            get;
            set;
        }

        /// <summary>
        /// 协议签约时间,格式为 yyyy-MM-dd HH:mm:ss。
        /// </summary>
        [NameInMap("sign_time")]
        public string SignTime
        {
            get;
            set;
        }

        /// <summary>
        /// 协议产品码,商户和支付宝签约时确定,不同业务场景对应不同的签约产品码。
        /// </summary>
        [NameInMap("personal_product_code")]
        public string PersonalProductCode
        {
            get;
            set;
        }

        /// <summary>
        /// 代扣协议中标示用户的唯一签约号(确保在商户系统中唯一)
        /// </summary>
        [NameInMap("external_agreement_no")]
        public string ExternalAgreementNo
        {
            get;
            set;
        }

        /// <summary>
        /// 用户的芝麻信用 openId,供商 户查询用户芝麻信用使用。
        /// </summary>
        [NameInMap("zm_open_id")]
        public string ZmOpenId
        {
            get;
            set;
        }

        /// <summary>
        /// 外部登录Id
        /// </summary>
        [NameInMap("external_logon_id")]
        public string ExternalLogonId
        {
            get;
            set;
        }
    }
}