/// <summary>
 /// 含参构造函数
 /// </summary>
 /// <param name="available_begin_time">开始时间  <para>批次开始时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日13点29分35秒。</para><para>注意:开始时间设置有效期最长为1年。</para><para>示例值:2015-05-20T13:29:35+08:00</para></param>
 /// <param name="available_end_time">结束时间  <para>批次结束时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日13点29分35秒。</para><para>注意:结束时间设置有效期最长为1年。</para><para>示例值:2015-05-20T13:29:35+08:00</para></param>
 /// <param name="available_day_after_receive">生效后N天内有效 <para>日期区间内,券生效后x天内有效。例如生效当天内有效填1,生效后2天内有效填2,以此类推。注意,用户在有效期开始前领取商家券,则从有效期第1天开始计算天数,用户在有效期内领取商家券,则从领取当天开始计算天数,无论用户何时领取商家券,商家券在活动有效期结束后均不可用。可配合wait_days_after_receive一同填写,也可单独填写。单独填写时,有效期内领券后立即生效,生效后x天内有效。</para><para>示例值:3</para><para>可为null</para></param>
 /// <param name="available_week">固定周期有效时间段 <para>可以设置多个星期下的多个可用时间段,比如每周二10点到18点,用户自定义字段。</para><para>可为null</para></param>
 /// <param name="irregulary_avaliable_time">无规律的有效时间段 <para>无规律的有效时间,多个无规律时间段,用户自定义字段。</para><para>可为null</para></param>
 /// <param name="wait_days_after_receive">领取后N天开始生效 <para>日期区间内,用户领券后需等待x天开始生效。例如领券后当天开始生效则无需填写,领券后第2天开始生效填1,以此类推。用户在有效期开始前领取商家券,则从有效期第1天开始计算天数,用户在有效期内领取商家券,则从领取当天开始计算天数。无论用户何时领取商家券,商家券在活动有效期结束后均不可用。需配合available_day_after_receive一同填写,不可单独填写。</para><para>示例值:7</para><para>可为null</para></param>
 public Coupon_Available_Time(string available_begin_time, string available_end_time, int available_day_after_receive, Available_Week available_week, Irregulary_Avaliable_Time[] irregulary_avaliable_time, int wait_days_after_receive)
 {
     this.available_begin_time        = available_begin_time;
     this.available_end_time          = available_end_time;
     this.available_day_after_receive = available_day_after_receive;
     this.available_week            = available_week;
     this.irregulary_avaliable_time = irregulary_avaliable_time;
     this.wait_days_after_receive   = wait_days_after_receive;
 }
 /// <summary>
 /// 含参构造函数
 /// </summary>
 /// <param name="available_begin_time">开始时间<para>批次开始时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日13点29分35秒。</para><para>注意:开始时间设置有效期最长为1年。</para><para>示例值:2015-05-20T13:29:35+08:00</para></param>
 /// <param name="available_end_time">结束时间<para>批次结束时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日13点29分35秒。</para><para>注意:结束时间设置有效期最长为1年。</para><para>示例值:2015-05-20T13:29:35+08:00</para></param>
 /// <param name="available_day_after_receive">生效后N天内有效 <para>日期区间内,券生效后x天内有效。例如生效当天内有效填1,生效后2天内有效填2,以此类推。注意,用户在有效期开始前领取商家券,则从有效期第1天开始计算天数,用户在有效期内领取商家券,则从领取当天开始计算天数,无论用户何时领取商家券,商家券在活动有效期结束后均不可用。可配合wait_days_after_receive一同填写,也可单独填写。单独填写时,有效期内领券后立即生效,生效后x天内有效。</para><para>示例值:3</para><para>可为null</para></param>
 /// <param name="available_week">固定周期有效时间段 <para>可以设置多个星期下的多个可用时间段,比如每周二10点到18点,用户自定义字段。</para><para>可为null</para></param>
 /// <param name="irregulary_avaliable_time">无规律的有效时间段 <para>无规律的有效时间,多个无规律时间段,用户自定义字段。</para><para>可为null</para></param>
 /// <param name="wait_days_after_receive">领取后N天开始生效 <para>日期区间内,用户领券后需等待x天开始生效。例如领券后当天开始生效则无需填写,领券后第2天开始生效填1,以此类推。用户在有效期开始前领取商家券,则从有效期第1天开始计算天数,用户在有效期内领取商家券,则从领取当天开始计算天数。无论用户何时领取商家券,商家券在活动有效期结束后均不可用。需配合available_day_after_receive一同填写,不可单独填写。</para><para>示例值:7</para><para>可为null</para></param>
 public Coupon_Available_Time(TenpayDateTime available_begin_time, TenpayDateTime available_end_time, int available_day_after_receive, Available_Week available_week, Irregulary_Avaliable_Time[] irregulary_avaliable_time, int?wait_days_after_receive)
 {
     this.available_begin_time        = available_begin_time.ToString();
     this.available_end_time          = available_end_time.ToString();
     this.available_day_after_receive = available_day_after_receive;
     this.available_week            = available_week;
     this.irregulary_avaliable_time = irregulary_avaliable_time;
     this.wait_days_after_receive   = wait_days_after_receive;
 }