Thanks for the `tbchangecarrier.zip` module; I’ve taken a quick look at it.
Fundamentally, it serves a different purpose:
`tbchangecarrier`: Actually changes the order's shipping carrier in the database - updating `id_carrier` in both the `order_carrier` and `orders` tables. It does not send an email to the customer; it is purely a silent correction made in the backend.
My module, designed for our specific requirements, does not alter the order data at all; it simply provides the option to send the customer a different (additional) tracking email containing a different tracking link.
It uses a hook to integrate into the order overview page in the backend, providing a dropdown menu for shipping methods and a field for the tracking number. Once the details are entered and submitted, the customer receives a shipping notification containing the correct link.
The reason for this is that we often handle both very light and very heavy packages sometimes within a single customer order.
0.5 kg package is shipped via DHL using the native tracking link in the backend.
35 kg package is shipped via DPD using the "new" tracking link in the backend, which points to DPD tracking. However, the customer cannot actively select DPD shipping in the shopping cart at all.
That is the reason why I included this information in this topic.
After all, there are -so to speak- "multiple" tracking numbers involved, and this allows any number of shipping emails to be sent to the customer (for example, even for 10 packages...).