Royal Mail PUDO Location - via API

The PUDO (Pick Up & Drop Off) Location API service is designed to provide user with locations around the destination address.
It is used to obtain pick up or drop off location addresses from multiple carriers which will be used on the label when/ if it is created.
It is more ad-hoc solution, to check the location when the customer is at the checkout.
The service is implemented using XML messaging.

The successful response to a PUDOLocationRequest will include several useful elements:
- locationCount - All successful responses will indicate the number of locations within the response
- location -  All successful responses will provide address information for each location
- opening Hours - All successful responses will provide opening and closing times for the locations provided
- geolocation Successful responses will include Longitude and Latitude in the response if the carrier can provide this data

PUDOLocationRequest Format
Use the PUDOLocationRequest to retrieve pick up and drop off locations. This service can only be used for Royal Mail and Pass My Parcel locations. This service must be used before creating the shipment. 
The request is split into several sections:
- integrationHeader - Telling us who you are and checking your credentials.This also includes a unique transaction ID for the request used for message traceability.
- locationRequest - Request Options.
- Carriers - The carriers that the user wants locations returned for.
- Location - The destination address for the shipment.

Click HERE to see an example of PUDOLocationRequest.

IntegrationHeader
The integrationHeader element confirms who the request is coming from and verifies the credentials used in the request.
PUDO Location API 1
PUDOLocation/ locationRequest
PUDO Location API 2
PUDOLocation/ carriers
PUDO Location API 3
PUDOLocation/ location
PUDO Location API 4
Click HERE to see an example XML Request File.
The request is simple and there are only two variables- Maximum Results and Postcode.
<maximumResults>20</maximumResults>
<postCode>TW20 0HJ</postCode>

PUDOLocationResponse Format
The PUDOLocationResponse contents will provide the number of requested locations based on the postocde provided.
PUDO Location API 5
PUDO Location API 6
Click HERE to see an example of successful XML Response File.
Click HERE to see an example of failed XML Response File.
The response is a list of locations with addresses and opening times.

To create a shipping label with Local Collect please:
- use the 'c/o' prefix in the destinationCompanyName together with the Local Collect address
- include service enhancement code 22 for Local Collect
- include service enhancement so that the consumer can be notified when the parcel is ready for collection (user code 13 for SMS notification and/or 14 for email notification).

Please note: It is not possible to get a Local Collect label without those two service enhancements. 

The list of services for which the Local Collect can be used can be found in Royal Mail Service Matrix

Example label:
PUDO Location API 7

THE PUDO API ENDPOINTS

For Sandbox:
https://test.intelligentshipper.net/api/v1.2/pudolocations/getLocations
The PUDO API call is enabled on Sandbox and the search radius is set to 10 miles.

For Production: https://[systemname].intelligentshipper.net/api/v1.2/pudolocations/getLocations
The search radius can be set to anything required.