ShipmentSent.CustomerNotification e-mail needs to be sent depending on which shipment method is used (for the purposes of including customized tracking links or important information about that particular method).  For stores that might use multiple couriers to despatch items I think this might be useful as a feature.

So I propose a change to the shipment system.  

Add a "Shipment Method" Entity, default of one record "Default Shipping Method" or something.

This can be selected when creating a shipment

This might be something like

ShipmentMethod {

string Name { get;set; }
string AdminNotes { get;set; }
bool Enabled { get;set ;}
int ShipmentSentCustomerNotificationTemplateId {get;set ;}
int ShipmentReceivedCustomerNotificationTemplateId {get;set ;}
string ShippingMethodTrackingUrl { get;set; }
}

You get the idea.

Entity stores the message template used for sending / receiving.

(current message template by default obviously)

Message template used for sending is then dependant on the one selected.

Perhaps finally even a new Token to insert the tracking URL into the message so we could do this for example

%Shipment.Method.TrackingUrl%?tracking=%Shipment.TrackingNumber%

Having a shipping method defined as an entity will also bring the ability to create reports on specific shipment methods.

Thanks
Chris