using Com.Bocom.OpenApi;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace Com.Bocom.OpenApi
{

    /// <summary>
    /// 1.4 新增账单
    /// 1.4.1 功能描述：
    /// 智慧记账产品新增账单接口，支持常规账单和框架性协议账单创建。
    /// </summary>
    public class AddContractOrderRequestV2 : BocomRequest<AddContractOrderResponseV2>
    {

        public override Type GetResponseClass()
        {
            return typeof(AddContractOrderResponseV2);
        }

        public override bool IsNeedEncrypt()
        {
            return false;
        }

        public override string GetMethod()
        {
            return "POST";
        }

        public override Type GetBizContentClass()
        {
            return typeof(AddContractOrderRequestV2Biz);
        }

        [DataContract]
        public class AddContractOrderRequestV2Biz : BizContent
        {

            /// <summary>
            /// 机构编号 </summary>
            //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
            //ORIGINAL LINE: @JsonProperty("org_id") private String orgId;
            //internal string orgId;
            [DataMember]
            public string org_id { get; set; }
            /// <summary>
            /// 批次号 </summary>
            //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
            //ORIGINAL LINE: @JsonProperty("bat_id") private String batId;
            //internal string batId;
            [DataMember]
            public string bat_id { get; set; }

            /// <summary>
            /// "" </summary>
            //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
            //ORIGINAL LINE: @JsonProperty("cont_order_list") private java.util.List<ContOrder> contOrderList;
            //internal List<ContOrder> contOrderList;
            [DataMember]
            public List<ContOrder> cont_order_list { get; set; }

            public class ContOrder
            {
                /// <summary>
                /// 合同号 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("cont_id") private String contId;
                //internal string contId;
                public string cont_id { get; set; }

                /// <summary>
                /// 机构编号 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("org_id") private String orgId;
                //internal string orgId;
                public string org_id { get; set; }

                /// <summary>
                /// 应付款人 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("ori_payer") private String oriPayer;
                //internal string oriPayer;
                public string ori_payer { get; set; }

                /// <summary>
                /// 应付款人账号 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("ori_ac") private String oriAc;
                //internal string oriAc;
                public string ori_ac { get; set; }

                /// <summary>
                /// 应付款人地址 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("ori_addr") private String oriAddr;
                //internal string oriAddr;
                public string ori_addr { get; set; }

                /// <summary>
                /// 应付款人联系电话 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("ori_tel_no") private String oriTelNo;
                //internal string oriTelNo;
                public string ori_tel_no { get; set; }

                /// <summary>
                /// 应付款人其他信息1 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("ori_other_info1") private String oriOtherInfo1;
                //internal string oriOtherInfo1;
                public string ori_other_info1 { get; set; }

                /// <summary>
                /// 应付款人其他信息2 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("ori_other_info2") private String oriOtherInfo2;
                //internal string oriOtherInfo2;
                public string ori_other_info2 { get; set; }

                /// <summary>
                /// 应付款人其他信息3 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("ori_other_info3") private String oriOtherInfo3;
                //internal string oriOtherInfo3;
                public string ori_other_info3 { get; set; }

                /// <summary>
                /// 费项名称 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("ori_itm_nme") private String oriItmNme;
                //internal string oriItmNme;
                public string ori_itm_nme { get; set; }

                /// <summary>
                /// 应付金额 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("ori_amt") private String oriAmt;
                //internal string oriAmt;
                public string ori_amt { get; set; }

                /// <summary>
                /// 减免金额 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("ori_offset_amt") private String oriOffsetAmt;
                //internal string oriOffsetAmt;
                public string ori_offset_amt { get; set; }

                /// <summary>
                /// 实际应付金额 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("ori_act_amt") private String oriActAmt;
                //internal string oriActAmt;
                public string ori_act_amt { get; set; }

                /// <summary>
                /// 附言码 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("attach_code") private String attachCode;
                //internal string attachCode;
                public string attach_code { get; set; }

                /// <summary>
                /// 备注 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("remark") private String remark;
                //internal string remark;
                public string remark { get; set; }

                /// <summary>
                /// 减免金额备注 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("offset_remark") private String offsetRemark;
                //internal string offsetRemark;
                public string offset_remark { get; set; }

                /// <summary>
                /// 部门名称 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("dept") private String dept;
                //internal string dept;
                public string dept { get; set; }

                /// <summary>
                /// 账期 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("payment_period") private String paymentPeriod;
                //internal string paymentPeriod;
                public string payment_period { get; set; }

                /// <summary>
                /// 核销提醒手机号 </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("phone_num") private String phoneNum;
                internal string phoneNum;
                public string phone_num { get; set; }

                /// <summary>
                /// 框架性协议类型
                /// -1: 非框架性协议；
                /// 1:  非足额自动部分核销协议
                /// </summary>
                //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
                //ORIGINAL LINE: @JsonProperty("agreement_type") private String agreementType;
                //internal string agreementType;
                public string agreement_type { get; set; }
            }

        }
    }
}

