Product management¶
Te Product management features handles the entire lifecycle of the products on the website. From creation to deletion and actions. It is a requirement for the platform's core business flow and is closely connected with several other features.
Purpose¶
Product management goaql is to make refenure by having an item available on the website. It acts as the central coordinator for all the product related-events.
Feature Dependencies¶
Upstream: - Cart Process - Order Management
This feature initiates the core customer journey and passes responsibility to order manegemnt once a customer has selected their wanted products.
flowchart LR
Product_Selection --> Order_Management
Order_Management --> Payment_Process
Payment_Process --> Order_Shipment
Process flows¶
- Content manager creates new product with correct information regarding the product.
- Product is visable on the website on the product listing page
- Product is visable on the website on the product detail page
Key buisness Rules¶
Product Pricing Caculations with reductions
Product Pricing Calculations with Reductions PrestaShop calculates product prices with taxes and reductions using the following rules and rounding methods: Price Calculation: 1. No Reduction: The price including tax is calculated as: `Price (excl. tax) × (1 + tax rate)` 2. Amount-Based Reduction: The reduction amount is subtracted from the price including tax. 3. Percentage-Based Reduction: The reduction percentage is applied to the price including tax. Rounding: PrestaShop uses the "round half up" method, ensuring the final price is always rounded to the nearest cent. Example: Parameter | Value | |-----------|-------| | Price excluding tax | 39.628099 | | Tax rate | 21% | | Price including tax (before reduction) | 47.94999979 | | Reduction | 10% (percentage-based) | | Price including tax (after reduction) | 43.155 | | Final rounded price | 43.16 | In this example: - The price including tax after applying the 10% reduction is 43.155. - According to the "round half up" rule, this is rounded up to 43.16.Invloved services¶
| Service | Responsibility |
|---|---|
| brekz-website | Customer frontend to create and manage orders. |
| brekz-prestashop | Core order engine and product catalog management. |
| brekz-cms | Mass upload of changes regarding current existing products. |
| brekz-exact-api | Synchronizes products data with Exact Online. |
| brekz-copernica | Handles product-based marketing triggers and transactional emails. |
| brekz-ergonode | Handles mass upload of products. |
Product Management Subfeatures¶
???+ note Product bundle system
The prestashop system did not have a default bundle system build in. So we did build this system in ourself.
We use the table ps_product_attribute_bundel to manage the bundles to to attach the items in the stock and on the website.
-
We have a column
id_product_attribute_verkoopwhich is the attribute product that is listed on the website -
We have a column
id_product_attribute_voorraadwhich is the attribute that is used in the stock. -
We have a column
aantalwhich is the amount of the vooraad should multiply.
This is how simple bundles are formed together. For example 2 x 15 KG bundle.
erDiagram
ps_product_attribute_bundel {
INT id_product_attribute_bundel PK "AUTO_INCREMENT"
INT id_product_attribute_verkoop "UNSIGNED, NOT NULL"
INT id_product_attribute_voorraad "UNSIGNED, NOT NULL"
INT aantal "NOT NULL"
VARCHAR ean13 "VARCHAR(13), NULL"
}