The hardest thing is take the Shipping Method picked on checkout_shipping and when a Discount Coupon for Free Shipping is added that it deletes the previously selected method and changes it to the Parcel Post ...
Changing the name Parcel Post and resetting the id is easy enough but the amount of the Parcel Post is a problem ...
To properly do this, the information should be saved and available to the checkout_payment page so that all information can be correctly updated ...
While not difficult to do, it is time consuming and hard to explain everything that needs to be customized without actually sitting down and rewriting all of the code needed for this so that it works correctly in a manner that is not going to upset the customer if the shipping method and old price off shipping doesn't match the new price off shipping ...
This is something that you may want to go through and re-write all of this in all of the files that must be addressed to manage this properly ...
There are quite a few to get all of the displays working properly, once the Discount Coupon has been added for the Free Shipping and if the customer then goes to change the order or back to the checkout_shipping from the other checkout pages etc.
If you go through each step then try things like:
Add more to cart
Go back to checkout_shipping
Select the Shipping Estimator
etc. etc. etc. ... then you should be able to see all of the areas where this code needs to be updated so that the "new" shipping choice is now USPS Parcel Post ...
Do you ship out of the country?