There are as many ways to use CourierManager as there are courier companies - each will have its own way of doing things. So don't consider anything below as set in stone - many variations exist, depending on settings and the permissions you set for clients and employees.
Creating a shipment can be done in many ways:
Shipments can have one of eight statuses: draft, uncollected, active, notified, delivered, returned, canceled, exception. (for the Romanian version they are: initial, neridicat, in curs, avizat, livrat, returnat, anulat, exceptie; Other languages have their own translation, which can also be customized). You can always supplement this with any number of codes, which are very much like sub-statuses. For example, you can define codes that apply to the "returned" status, and explain why the shipment was returned: "Recipient address incorrect", "Recipient refused delivery" and so on. The status notified is usually used when the shipment could not be delivered, but it is not returned or cancelled - for example, the recipient did not answer the doorbell, or their phone, etc.
After being created, the shipment is in the draft status, and it can still be edited by the client. Since key elements like recipient address can still be changed while in this status, the clients won't be allowed to print labels for shipments in the draft status.
Once the client is sure it doesn't need to change anything, it will be "finalized" - its status will be set to uncollected. This means it's ready to be collected by a courier. Clients can now print labels, and also can't change shipment details anymore. Depending on the permissions you give them, they may still be able to cancel a shipment before it's been collected.
Following this, a dispatcher will usually allocate the shipment to a courier and put it on his daily rollcart. Or if the courier is already out, he will receive a notification on his mobile app that he has a new shipment. Our Enterprise customers will most likely want to use the Pickups system as well to improve efficiency.
When a courier arrives and scans up the shipment, its status will automatically switch to active. If your company is doing direct deliveries then the shipment may be delivered it the same day, but in most cases the next stop is back at the hub. Once arrived there it will be scanned by a courier marked as "hub only", which signals the system that it has entered the hub, and will also update the tracking info visible from the public tracking.
Local companies will then assign it to another courier the next day for delivery - otherwise it will be sorted (possibly using an automatic sorting system), loaded in an inter-city transport and sent to the next hub. The "Routing" main menu deals with configuring inter-hub transports, manual and automatic sorting, and also possible integrations with third party courier companies or subcontractors.
Once out for delivery things may go smoothly and the delivery courier will just mark it as delivered, possibly also collecting a signature on a label, rollcart or directly on his mobile device. If for some reason there is a temporary setback, he can change the shipment status to notified. If the delivery fails completely, the status can be set to returned and a return shipment is automatically generated. For both notified and returned statuses, notifications can be automatically sent, for example to the client who then has a chance to try and fix the issue.
At any point, a dispatcher can mark the shipment as canceled, or exception. The latter can be used in any situation that doesn't fit in a predefined mold.
All along this process, the codes we mentioned earlier can be used to add a level of detail. Reasons for the notified and delivered statuses are probably a must. Various steps in the sorting process can also be marked with codes - but the software is usually pretty good at figuring things out for itself, based on who is the last person that scanned each shipment. For example, if the shipment is active and added to the rollcart of a delivery courier, and is also in its destination hub, the software knows it can send a delivery SMS to the recipient. Same with generating the tracking info for the shipment - although you can always add public codes if you want to add more detail.
Once the shipment is delivered (or possibly returned), there are two things left to do: invoicing and settlements. Shipments can be paid by cash, by the sender or by the recipient, or the client can be invoiced periodically. The latter can be done either manually or automatically Amounts collected by the couriers, either for transport or for Cash on Delivery (CoD) will be settled with the company in the Courier settlements. CoD will be settled with the clients in Client settlements. There is also the option of automatically compensating, and subtracting transport cost from CoD (compensation invoices will be generated automatically).