/// <summary>
        /// Revises, or adds to, the set of Selling Manager automation rules associated with an item.
        ///
        ///
        /// This call is subject to change without notice; the deprecation process is inapplicable to this call. You must have a Selling Manager Pro subscription to use this call.
        ///
        ///
        /// Using this call, you can add an automated relisting rule. You also can add a Second Chance Offer rule. Note that automated relisting rules can only be set on templates. An automated relisting rule for an item is inherited from a template.
        ///
        ///
        /// This call also enables you to specify particular information about automation rules.
        ///
        ///
        /// If a node is not passed in the call, the setting for the corresponding
        /// automation rule remains unchanged.
        /// </summary>
        ///
        /// <param name="ItemID">
        /// The unique identifier of the listing whose automation rules you want to change.
        /// </param>
        ///
        /// <param name="AutomatedRelistingRule">
        /// The information for the automated relisting rule to be associated with the listing.
        /// </param>
        ///
        /// <param name="AutomatedSecondChanceOfferRule">
        /// The information for the automated Second Chance Offer rule to be associated with the listing.
        /// </param>
        ///
        public SellingManagerAutoListType SetSellingManagerItemAutomationRule(string ItemID, SellingManagerAutoRelistType AutomatedRelistingRule, SellingManagerAutoSecondChanceOfferType AutomatedSecondChanceOfferRule)
        {
            this.ItemID = ItemID;
            this.AutomatedRelistingRule         = AutomatedRelistingRule;
            this.AutomatedSecondChanceOfferRule = AutomatedSecondChanceOfferRule;

            Execute();
            return(ApiResponse.AutomatedListingRule);
        }
        /// <summary>
        /// Revises, or adds to, the set of Selling Manager automation
        /// rules associated with an item.
        /// 
        /// 
        /// This call is subject to change without notice; the
        /// deprecation process is inapplicable to this call.
        /// 
        /// 
        /// Using this call, you can add an autolist rule.
        /// You also can add a second chance offer
        /// rule (restricted to auction items and auction templates).
        /// Note that autorelist rules can only be set on templates.
        /// An autorelist rule for an item is inherited from a template.
        /// 
        /// 
        /// This call also enables you to specify particular information about automation
        /// rules.
        /// 
        /// 
        /// If a node is not passed in the call, the setting for the corresponding
        /// automation rule remains unchanged.
        /// 
        /// 
        /// Although this call can revise (overwrite) an existing rule,
        /// this call cannot delete an automation rule.
        /// (Instead, use DeleteSellingManagerItemAutomationRule.)
        /// </summary>
        /// 
        /// <param name="ItemID">
        /// The item ID whose automation rules you want to change.
        /// </param>
        ///
        /// <param name="AutomatedRelistingRule">
        /// The information for the automated relisting rule to be associated with the item.
        /// </param>
        ///
        /// <param name="AutomatedSecondChanceOfferRule">
        /// The information for the automated second chance offer rule to be associated with the item.
        /// </param>
        ///
        public SellingManagerAutoListType SetSellingManagerItemAutomationRule(string ItemID, SellingManagerAutoRelistType AutomatedRelistingRule, SellingManagerAutoSecondChanceOfferType AutomatedSecondChanceOfferRule)
        {
            this.ItemID = ItemID;
            this.AutomatedRelistingRule = AutomatedRelistingRule;
            this.AutomatedSecondChanceOfferRule = AutomatedSecondChanceOfferRule;

            Execute();
            return ApiResponse.AutomatedListingRule;
        }
        /// <summary>
        /// Revises, or adds to, the Selling Manager automation rules associated with a template.
        ///
        ///
        /// This call is subject to change without notice; the deprecation process is inapplicable to this call. You must have a Selling Manager Pro subscription to use this call.
        ///
        ///
        /// Using this call, you can add either an automated listing or relisting rule, but not both. You also can add a Second Chance Offer rule.
        ///
        ///
        /// This call also enables you to specify particular information about automation rules.
        ///
        ///
        /// If a node is not passed in the call, the setting for the corresponding automation rule remains unchanged.
        /// </summary>
        ///
        /// <param name="SaleTemplateID">
        /// The ID of the Selling Manager template whose automation rules you want to change. You can obtain a <b>SaleTemplateID</b> by calling <b>GetSellingManagerInventory</b>.
        /// </param>
        ///
        /// <param name="AutomatedListingRule">
        /// The information for the automated listing rule to be associated with the template.
        /// </param>
        ///
        /// <param name="AutomatedRelistingRule">
        /// The information for the automated relisting rule to be associated with the template.
        /// </param>
        ///
        /// <param name="AutomatedSecondChanceOfferRule">
        /// The information for the automated Second Chance Offer rule to be associated with the template.
        /// </param>
        ///
        public SellingManagerAutoListType SetSellingManagerTemplateAutomationRule(long SaleTemplateID, SellingManagerAutoListType AutomatedListingRule, SellingManagerAutoRelistType AutomatedRelistingRule, SellingManagerAutoSecondChanceOfferType AutomatedSecondChanceOfferRule)
        {
            this.SaleTemplateID                 = SaleTemplateID;
            this.AutomatedListingRule           = AutomatedListingRule;
            this.AutomatedRelistingRule         = AutomatedRelistingRule;
            this.AutomatedSecondChanceOfferRule = AutomatedSecondChanceOfferRule;

            Execute();
            return(ApiResponse.AutomatedListingRule);
        }
		/// <summary>
		/// Revises, or adds to, the Selling Manager automation
		/// rules associated with a template.
		/// 
		/// 
		/// This call is subject to change without notice; the
		/// deprecation process is inapplicable to this call.
		/// 
		/// 
		/// Using this call, you can add either an autorelist rule or
		/// an autolist rule, but not both.
		/// You also can add a second chance
		/// offer rule (restricted to auction items and auction templates).
		/// 
		/// 
		/// This call also enables you to specify particular information about automation
		/// rules.
		/// 
		/// 
		/// If a node is not passed in the call, the setting for the corresponding
		/// automation rule remains unchanged.
		/// 
		/// 
		/// Although this call can revise (overwrite) an existing rule,
		/// this call cannot delete an automation rule.
		/// (Instead, use DeleteSellingManagerTemplateAutomationRule.)
		/// </summary>
		/// 
		/// <param name="SaleTemplateID">
		/// The ID of the Selling Manager template whose automation rules
		/// you want to change. You can obtain a SaleTemplateID by calling
		/// GetSellingManagerInventory.
		/// </param>
		///
		/// <param name="AutomatedListingRule">
		/// The information for the automated listing rule to be associated with the template.
		/// </param>
		///
		/// <param name="AutomatedRelistingRule">
		/// The information for the automated relisting rule to be associated with the template.
		/// </param>
		///
		/// <param name="AutomatedSecondChanceOfferRule">
		/// The information for the automated second chance offer rule to be associated with the template.
		/// </param>
		///
		public SellingManagerAutoListType SetSellingManagerTemplateAutomationRule(long SaleTemplateID, SellingManagerAutoListType AutomatedListingRule, SellingManagerAutoRelistType AutomatedRelistingRule, SellingManagerAutoSecondChanceOfferType AutomatedSecondChanceOfferRule)
		{
			this.SaleTemplateID = SaleTemplateID;
			this.AutomatedListingRule = AutomatedListingRule;
			this.AutomatedRelistingRule = AutomatedRelistingRule;
			this.AutomatedSecondChanceOfferRule = AutomatedSecondChanceOfferRule;

			Execute();
			return ApiResponse.AutomatedListingRule;
		}