How can I use Contract Conditions?

You can use Contract Conditions to pass Metapack information relating to the contract that you wish to ship against.

Metapack has just introduced Contract Conditions, a new feature in Delivery Manager that eliminates the need to create Virtual Warehouses. Instead, you can now create distinct Contract Conditions that include the contracts you want to be considered for allocation.

The Contract Condition will be included in our API calls to ensure the system correctly assigns it to the relevant contract for shipment.

The default workflow is for a contract to be allocated to the consignments by matching the Warehouse and Carrier Service combination. Learn more in the Create a contract section of Adding a Carrier.

If, however, you would like to specifically tell Delivery Manager which contract to use, you can now pass a Contract Condition in your request.

Enable and Use Contract Conditions

By default, the ability to link a contract to a Contract Condition is disabled in your Metapack account. 

To use Contract Conditions, please contact Metapack Support to enable it for you.  Once enabled, you will be able to allocate multiple contracts for the same warehouse-service combination. At the contract level, you will be able to assign a contract condition against your contract.

Assign a Contract Condition to a multi-contract using the same warehouse combination

If this toggle is switched on and you have not assigned a contract condition to a multi-contract using the same warehouse combination, your allocations will fail. This failure happens because the Delivery Manager will NOT know which contract to ship against.

From the Contract Conditions dropdown menu on the Carrier Contract Setup page, you can see all your existing Contract Conditions. You can also click Add New to create new Contract Conditions.

Contract-conditions dropdown menu. Add Button

Contract Conditions may contain more than one contract IF the service combination allows.  You cannot assign the same services under 2 contract conditions.

Contract Conditions - SOAP API

You can pass the contractCondition field via the SOAP API:

<contractCondition xsi:type="soapenc:string">
TEST1
</contractCondition> ... </consignments>

To illustrate, the following code snippet provides a value of TEST1 for the xsi:nil="true" attribute.

Code Snippet

<consignments xsi:type="ns2:Consignment" xmlns:ns2="urn:DeliveryManager/types">
  ...
  <contractCondition xsi:type="soapenc:string" xsi:nil="true" />
  ...
</consignments><consignments xsi:type="ns2:Consignment" xmlns:ns2="urn:DeliveryManager/types">
 ... 
<contractCondition xsi:type="soapenc:string" xsi:nil="true" 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
TEST1
</contractCondition>
 ... 
</consignments>

The Contract Condition field is available on the following operations: