Skip to content

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

  1. Content manager creates new product with correct information regarding the product.
  2. Product is visable on the website on the product listing page
  3. 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_verkoop which is the attribute product that is listed on the website

  • We have a column id_product_attribute_voorraad which is the attribute that is used in the stock.

  • We have a column aantal which 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"
  }