Skip to content

Locker Unit

APIs for managing locker unit reservations and parcel handling workflows within a locker bank. These APIs support operations such as reserving locker units, depositing parcels, retrieving reservation details, updating reservations, and freeing locker units. Together, these operations enable end-to-end management of locker-based delivery and pickup workflows.

Creates a new Reservation for a Locker

Request

This API operation creates a reservation for a locker unit in the specified locker bank.

Locker selection rules

  • Provide either size or lockerUnitId.
  • If lockerUnitId is provided, the system reserves that exact locker.
  • If only size is provided, the system selects any available locker of that size.
  • If both are provided, lockerUnitId takes precedence and size is ignored.
Security
bearerAuth
Path
lockerBankIdstringrequired

This is the unique identifier of the locker bank.

Example:AOne
Bodyapplication/jsonrequired

Create a reservation

userIdstringrequired

The identifier of the user performing the locker reservation action.

Example:"thirdpartyuser@gmail.com"
sizestring

Requested locker size for the reservation.Used only when lockerUnitId is not provided. If both size and lockerUnitId are provided, this value is ignored. valid values are- small, medium, large and mlarge.

Example:"small"
accessibleboolean

Requests a locker that would be deemed handicapped accesible to recipients.

Example:true
lockerUnitIdstring

The locker unit number you wish to reserve.

Example:"2"
contactIdstringrequired

The identifier of the recipient of the package for whom the locker reservation is created.

Example:"684a6b7bbc85e1bce739xxxx"
contactTypestringrequired

The source type of the recipient identifier.

Enum:"recipient""department"
Example:"recipient"
trackingNumberstringrequired

The primary identifier of a package, usually a carrier's tracking number.

Example:"TrackigID137"
secondaryTrackingNumberstring

A secondary identifier for a package, can be generated internally.

Example:"TRACK-1234"
reservationExpiryTimestring

The timestamp when the reservation for the locker unit is scheduled to expire. Once reservation is expired, the locker unit becomes available for new reservations.

Example:"2027-12-01T00:00:00Z"
curl -i -X POST \
  https://api-dev.sendpro360.pitneycloud.com/lockers/api/v1/lockerBanks/AOne/lockers/reserve \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "userId": "thirdpartyuser@gmail.com",
    "size": "small",
    "accessible": true,
    "lockerUnitId": "2",
    "contactId": "684a6b7bbc85e1bce739xxxx",
    "contactType": "recipient",
    "trackingNumber": "TrackigID137",
    "secondaryTrackingNumber": "TRACK-1234",
    "reservationExpiryTime": "2027-12-01T00:00:00Z"
  }'

Responses

Successful operation

Bodyapplication/json
lockerBankIdstring

The unique identifier of the locker bank where the reservation was created.

Example:"AOne"
lockerUnitIdstring

The locker unit number assigned for the reservation.

Example:"2"
sizestring

The size of the locker assigned for the reservation.

Example:"small"
contactIdstring

The identifier of the recipient of the package associated with the reservation.

Example:"684a6b7bbc85e1bce739xxxx"
contactTypestring

The source type of the recipient identifier.

Enum:"recipient""department"
Example:"recipient"
trackingNumberstring

The primary identifier of a package, usually a carrier's tracking number.

Example:"TrackigID137"
secondaryTrackingNumberstring

A secondary identifier for a package, can be generated internally.

Example:"TRACK-1234"
reservationExpiryTimestring

The timestamp when the reservation for the locker unit is scheduled to expire. Once reservation is expired, the locker unit becomes available for new reservations.

Example:"2027-12-01T00:00:00Z"
Response
{ "lockerBankId": "AOne", "lockerUnitId": "2", "size": "small", "contactId": "684a6b7bbc85e1bce739xxxx", "contactType": "recipient", "trackingNumber": "TrackigID137", "secondaryTrackingNumber": "TRACK-1234", "reservationExpiryTime": "2027-12-01T00:00:00Z" }