Bundle In Depth

This post contains miscellaneous information about Tajer Bundle you may or may not need to read it.

What will happen when I add or remove a product to the bundle that bought by a customer?

After the user bought a bundle if you removed a product from the bundle it will be removed from the user also if you added a product to the bundle it will be added to the user’s products(you can disable this behavior by adding add_filter(‘tajer_disable_bundle_fixer’,’__return_true’); to functions.php of your active theme or child theme).

In case the user upgrade or renew a product in his/her bundle products, it will not remove.

If the user upgrades a bundle product from sub id 1 to sub id 2 then you added the sub id 2 of that product to the bundle, it will not be added to this user.

If the bundle expired before its products and you added a new product or removed a product  from the bundle it will not be added or removed from the user’s products.
Now if a bundle product removed for any reason from the user’s products and the bundle itself didn’t remove, Tajer will calculate the product expiration date from the bundle buying date and if it didn’t expire yet Tajer will add it again to the user’s products.

 

The products expiration date will be calculated for each product based on its expiration date, what is that mean is the if the bundle product expiration date is after one year and the bundle itself expiration date is after one day the product expiration date will be after one year.
If the bundle has a trial, the bundle products will be added to the user products but its expiration date will be calculated based on the trial period, for example if we specified 14 days in the “Trial Period” field then these user products will expire after 14 days from the time that the user adds, in the trial table only the bundle itself will be recorded, what that mean is the Tajer will record that the user uses the trial version of the bundle not the bundle products.

Renew the bundle itself will renew the bundle and all its products. For example, if you renewed the bundle itself one month then the expiration date of the bundle and all its products will be extended by one month.

What if the user renew or upgrade one of the bundle products that he/she added it with a trial bundle?

The user can’t do that because the activation method of each user product in the user products database table will be “trial”.

What about the upgrade and the bundle?

Bundle upgrade is a little bit different from the normal product upgrade process.
Let’s assume that we have a bundle contain two prices(price id 1 and price id 2) and with each price we attached some products and we enabled the upgrade from price id 1 to price id 2.
When the user upgrade from price id 1 to price id 2 Tajer will take a look at the products that attached to each of them then for each product attached to the price id 1 Tajer will try to find the product that attached to price id 2 and it should be have a price id 2 then it will upgrade it to this product.

tajer_bundle_upgrades