Pre-Ship Picking Optimisation

For the most complex, high velocity, warehouses, this workflow allows you to pick the optimum carrier services prior to the creation and allocation of consignments, so that you can, for example, prepare for wave picking.


Refer also to Rate Shopping.

You create shipments and generate the paperwork in separate API calls, and have the option of manifesting the consignments for a future date.

You typically create and allocate consignments when the order is being picked, and append any missing parcels later on. Once the consignments are complete, labels and other documentation are typically generated in real time at the pack bench, although you can do this at any stage (refer to both step 4 and Store the Paperwork and Print Later).


The use of manifest groups is a recommended part of the workflow as it facilitates Scan to Trailer functionality.

The workflow is as follows:

  1. findDeliveryOptionsWithBookingCode - Allows you to return what the costs of a consignment would be, and to determine the carrier services that could be used to deliver it within a particular timeframe, prior to actually creating and allocating the consignment.

    You can copy the booking code for the required carrier service from the response, and paste it into the next call.

  2. createAndAllocateConsignmentsWithBookingCode - Creates a consignment, and, if it is successfully allocated, leaves it at the status of 'Allocated'.


    It is assumed that the workflow is set up to automatically move to 'Printed' (rather than 'Ready to manifest') after label printing. Refer to How do I Print and Manifest separately?.


    You are strongly advised to restrict each API call to the creation of a single consignment. so that you can easily track errors.

    If a consignment cannot be allocated, you can troubleshoot the results using debugConsignmentWhyNotWithBookingCode.

  3. appendParcelsToConsignment - Allows you to add one or more parcels to an existing consignment if required. It will generate the tracking codes for the new parcels, if necessary, and adjust the consignment weight and value accordingly.

  4. createPaperworkForConsignments, createPaperworkForParcel or createPaperworkForCarton - Allows you to print the labels to ZPL, or both the labels and customs documents to PDF (refer to Printing Properties).


    Because the paperwork is generated in a separate step from allocation, you can choose when to make the call that generates it (i.e. it does not have to be at the point of pack).

  5. deallocate and then deleteConsignment - Voids any unwanted consignments and labels.


    Parcels that have been manifested cannot be voided.

  6. Use addConsignmentsToGroup to assign manifest group codes to the consignments. Refer to Scan to Trailer.

  7. markManifestGroupReadyToManifest - Allows you to mark the consignments within a manifest group as 'Ready to Manifest'. Refer to Scan to Trailer.

  8. createManifestForFutureDespatch - Allows you to add items to a manifest for a future date and clear them from the current transactional flow. This allows you to pack well in advance of manifesting. The manifest will be sent automatically on the required date.


    You can also control your own manifesting using the Delivery Manager GUI (refer to Generating a Delivery Manifest and Generating a bulk Delivery Manifest).

    Although we recommend that you control your own manifesting, we may nevertheless be able to implement auto-manifesting on your behalf, and vary it according to carrier. If you would like to discuss this option, please contact Metapack support.