# Print Multiple packages per ship - UPS

Shipping Manager - Allow multiple packages for a shipment

Example Shipping Manager UI; which has box `**Number Of Labels**` :

[![image.png](https://frdocs.socalappsolutions.com/uploads/images/gallery/2025-03/scaled-1680-/aLKimage.png)](https://frdocs.socalappsolutions.com/uploads/images/gallery/2025-03/aLKimage.png)

For example, admin chooses Number Of Labels = **3** , and click `Print Shipping Label`  
  
`shipping\_manager.js` calls ShippingManager/Post/Index

[![image.png](https://frdocs.socalappsolutions.com/uploads/images/gallery/2025-06/scaled-1680-/image.png)](https://frdocs.socalappsolutions.com/uploads/images/gallery/2025-06/image.png)

Behind the scenes, app/code/Frans/ShippingMethods/Model/Carrier/Ups.php function requestRestQuotes() sends multiple packages to UPS API. UPS returns with **3** labels for **3** packages

[![image.png](https://frdocs.socalappsolutions.com/uploads/images/gallery/2025-06/scaled-1680-/UvTimage.png)](https://frdocs.socalappsolutions.com/uploads/images/gallery/2025-06/UvTimage.png)

With the 3 zpls returned, js function writeToSelectedPrinter(zpls) is called. This function sends 3 zpl labels to the [BrowserPrint SDK ](https://developer.zebra.com/products/printers/browser-print)

BrowserPrint sends those 3 labels to the physical Zebra printer.