Digital Waste Tracking API: journey scenarios - Beta 2
The Digital Waste Tracking API will enable a variety of journey scenarios which will be rolled out through the various Beta incarnations. Beta 2 adds new journeys to the original journeys in Beta 1 and will be the first release of the DWT API where you can record a waste movement from start to finish, with full input validation on every request.
A reminder of our original DWT API integration guidance
B1A - Single non-hazardous movement
A waste movement is made up of 4 events:
- Create the movement with
POST /movements. This returns a Movement ID. - Record the collection with
POST /movements/{movementId}/collection. - Record the delivery with
POST /deliveries. This returns a Delivery ID. - Record the receipt with
POST /deliveries/{deliveryId}/receipt.
You need a valid Movement ID to record a collection or a delivery.

B1B - Several non-hazardous movements delivered together
You can deliver several non-hazardous movements to a receiving site in one delivery. To do this, list all their Movement IDs when you call POST /deliveries. This returns one new Delivery ID for the whole group.
The receiving site uses this Delivery ID to record the receipt, using POST /deliveries/{deliveryId}/receipt.

B1C - Waste delivered to more than one receiving site
Waste from one or more movements can be split between more than one receiving site. List the Movement IDs when you call POST /deliveries. Each receiving site then records its own receipt against the Delivery ID, using POST /deliveries/{deliveryId}/receipt.

B1D - Waste received without a Delivery ID
A receiving site can accept waste that arrives without a Delivery ID. Record the receipt with POST /receipts, and explain why there’s no Delivery ID in reasonForNoDeliveryId. This returns a new Delivery ID for the receipt.

B2A - Hazardous movement
A movement is hazardous if any of its waste items has a hazardous European Waste Catalogue (EWC) code when you create it with POST /movements. It stays hazardous for all 4 events.
When you record the delivery, POST /deliveries still returns a Delivery ID, however this is the same code as the initial Movement ID. Use it to record the receipt in the usual way.

B2B - Hazardous and non-hazardous movements delivered together
You can include hazardous and non-hazardous movements in the same POST /deliveries request. The response gives you:
- one new Delivery ID for all the non-hazardous movements together
- one Delivery ID for each hazardous movement, which is the same as its initial Movement ID
Hazardous movements cannot be grouped with other hazardous movements for receipt.

B2C - Linking related movements
Some jobs need more than one movement, for example when waste is removed over several trips.
To link these movements, add the same reference to each one when you create it with POST /movements.
