Skip to main content

Knowledge Domain Database - Logistics

How does the domain work before writing a line of code? Choose a document from the left tree: each page explains part of the model.

Business Rules - Logistics

Business rules define the constraints and behavioral policies of the logistics domain. They are independent of implementation technology and reflect contractual, regulatory, and operational requirements.

---

BR-001 - Chargeable Weight Calculation

Category: Pricing / Billing Priority: HIGH

Rule: The billing weight of a shipment is the greater of the actual physical weight and the volumetric weight. Volumetric weight is calculated using the industry-standard divisor (5000 cm³/kg for air cargo, 4000 cm³/kg for road by convention).

` volumetricWeight = (length_cm × width_cm × height_cm) / divisor chargeableWeight = max(actualWeight, volumetricWeight) `

Rationale: Lightweight bulky goods would allow carriers to fill vehicles without generating adequate revenue if billed only on actual weight. The chargeable weight aligns billing with actual transport capacity consumed.

Application: Must be calculated and frozen in the BEING_COLLECTED phase before transitioning to READY_FOR_PICKUP. Any retroactive modification after carrier signature on the transport document is not permitted.

Involved entities: Shipment, Transport Order, Tariff Contract

---

BR-002 - Tracking Events Are Append-Only

Category: Data Integrity Priority: CRITICAL

Rule: No tracking event, once registered in the TMS, can be modified, backdated, or deleted. Each event is immutable with timestamp UTC of registration.

Rationale: The tracking log constitutes legal evidence of the shipment lifecycle (applicable in CMR disputes, customs audits, insurance claims). Any retroactive modification would undermine integrity and legal validity.

Application: The tracking_events table must be configured with INSERT-only permissions at the database level. No UPDATE or DELETE operations on existing tracking rows. For errors: add a corrective event (e.g., SCAN_CORRECTION) that cancels and resets the erroneous event, without modifying the original.

Invariant reference: INV-002

---

BR-003 - Cold Chain Continuity

Category: Regulatory Compliance / Quality Priority: CRITICAL

Rule: For pharmaceutical cold chain shipments (GDP-regulated), temperature must be monitored continuously from carrier pickup to final delivery. Any interruption of monitoring constitutes a non-compliance event requiring QC assessment.

Specific sub-rules:

  • The temperature logger must be activated before loading goods onto the vehicle
  • If the temperature reading goes outside the contractual range for > 15 minutes (configurable threshold), a ColdChainDeviationDetected domain event must be triggered immediately
  • The GDP report with temperature data for the entire transit period must be available within 24 hours of delivery
  • QC assessment is required before goods disposal - detection of deviation does not automatically imply product rejection
  • Application: Only GDP-certified vehicles (isGdpCertified=true) can be used for pharmaceutical cold chain. Applicable regulatory reference: EMA GDP Guidelines.

    Domain event: ColdChainDeviationDetected

    ---

    BR-004 - Incoterm Determines Risk and Cost Transfer

    Category: Commercial / Legal Priority: HIGH

    Rule: The Incoterm specified in the Transport Order determines: (a) the geographic point where risk transfers from shipper to consignee, (b) which party bears customs clearance costs at origin and destination.

    Practical examples (names only, no verbatim ICC text):

  • Under EXW, the consignee manages all transport and customs from the shipper's premises
  • Under DDP, the shipper bears all costs and risks to final delivery, including destination customs duties
  • Under DAP, risk transfers at destination but customs duties remain with the consignee
  • Under FOB, risk transfers at the port of shipment when goods pass the ship's rail
  • Application: The TMS must check that an Incoterm is specified before authorizing an international transport order. The customs broker must receive the Incoterm to correctly determine the party responsible for import declarations.

    Policy note: Incoterms are cited by name only in this knowledge pack (policy KH-QA-04). For the complete normative text, consult the ICC publication.

    ---

    BR-005 - HS Code Mandatory for International Shipments

    Category: Customs Compliance Priority: HIGH

    Rule: Any shipment crossing a customs border (export or import) must have a valid HS Code (Harmonized System commodity code) at the 6-digit level minimum (8 digits for EU customs purposes).

    Rationale: The HS Code is required for: (a) calculation of applicable customs duties (HS Code × TDC tariff rate), (b) verification of import/export restrictions and licenses, (c) compilation of official foreign trade statistics.

    Application: The TMS must block creation of international transport orders without a valid HS Code. The customs broker must verify the classification before submitting the customs declaration - an incorrect classification can result in penalties and seizure of goods.

    Invariant reference: INV-008

    ---

    BR-006 - FEFO for Expiry-Dated Goods

    Category: Warehouse Operations / Quality Priority: HIGH

    Rule: For goods with an expiry date or best-before date, the WMS must apply the FEFO (First Expired, First Out) rule during picking. The batch with the nearest expiry date is always picked first.

    Sub-rules:

  • FEFO takes precedence over FIFO or geographic proximity of slots
  • For pharmaceutical goods, FEFO is mandatory also for cross-docking operations
  • If a batch has an expiry date within 30 days (configurable threshold), it must be flagged in the WMS for urgent review and/or return to supplier
  • The FEFO rule applies even if the batch with the nearest expiry is in a less convenient slot (no exceptions for operator convenience)
  • Application: WMS task assignment engine must sort by expiryDate ASC when selecting SSCC to pick.

    ---

    BR-007 - Compliance with Driving Hour Regulations (Reg. EC 561/2006)

    Category: Regulatory Compliance / Operations Priority: CRITICAL

    Rule: For road transport in the EU, the route planning system must ensure that no driver exceeds the limits established by EC Regulation 561/2006: maximum 9 hours of daily driving (extendable to 10 hours maximum twice per week), mandatory 45-minute break after 4.5 continuous hours, minimum 11 hours daily rest.

    Application: The Route Optimizer must include mandatory breaks in the route plan and verify total daily driving hours for each driver. Routes that mathematically violate the regulation must be rejected or automatically split between two drivers. Driver monitoring (tachograph) must be integrated.

    References: Regulation (EC) No 561/2006 of the European Parliament and of the Council.

    ---

    BR-008 - On-Hold Management and Return to Sender

    Category: Exception Management Priority: MEDIUM

    Rule: After a failed delivery attempt, the carrier must store the goods for a period defined by contract (typically 5-10 business days). If no re-delivery instructions are received within the deadline, the shipment must automatically transition to RETURNED_TO_SENDER status with all costs charged to the shipper.

    Sub-rules:

  • After each failed attempt, the carrier must notify the consignee (SMS + email) with re-delivery or PUDO pickup options
  • Storage charges accrue starting from the day after the first failed attempt (configurable amount per day)
  • After 3 failed attempts without instructions, hold is activated even if within the re-delivery window
  • The shipper can authorize a new delivery attempt or authorize return at any time
  • Domain events: HoldActivated, ShipmentReturnedToSender