One of our clients gave customers two different shipping options (DHL and Fedex) at the checkout. This was based on speed and price of delivery. They also used ShipStation as the app to manage orders and fulfilment. Both couriers integrated with ShipStation so all good right? Not quite...
ShipStation automatically generates labels for both methods making life a lot easier for merchants. However, each courier had slightly different requirements in order to generate the label.
DHL uses the 'company' field in the label and if left blank it would mess up the label, this caused a huge headache for our client who had to manually go through each DHL order and add something into the customers order to fill the company box. All orders were consumer so this wasn't a necessary field - but also this manual process wasn't an option either due to the large amount of orders going through.
So we built an app which automatically recognised the shipping method and adjusted the order details to suit the requirements of the ShipStation/DHL integration. The way we did it was actually delete the order from Shopify as it comes in and replace it with our own. We used exactly the same details except for the company field we populated.
This is a great example of using Shopify draft order API released this year!