Skip to content

Create Shipments

There are two types of endpoints to create shipments.

  • Main shipment creation endpoints CreateLocalShipment and CreateCollectOnlyShipment. These endpoints can be used to create single shipment at a time, for a specific type. The shipment's configuration depend on the fields that are specified in the request. It will always create a single simpment at a time. So when you want to create a swap shipment, you'll need to call the endpoints multiple times.
  • Flow specific endpoints like CreateLocalShipmentAs* CreateCollectOnlyShipmentAs*. These endpoints can also be used to easily create a specific kind of shipment. Some of these calls support the creation of multiple shipments at a time, in case of a swap for example.

Create any local shipment

Location /v1/Logistics/CreateLocalShipment

Creates a new account-to-account shipment, being dropped off and picked up at the same PickUpPoint (locker). Shipment type is LocalPupShipment.

When creating a new shipment either a FromUserUid or ToUserUid can be specified. The other, non specified, user will automatically be set to the Dispatcher Main Account.

When specifying SwapsShipmentUid the new shipment will be chained as a swap-shipment with the specified shipment in SwapsShipmentUid. This means that when the SwapsShipmentUid will be picked up, it is assumed that at the same time a drop-off is being done for the newly created shipment. When created the PickUpCode of the SwapsShipmentUid and the DeliveryCode of the new shipment are the same.

When no From and To users are specified, the SwapsShipmentUid is set and IsReceiverDelayed is set to true, a new swapping shipment is created without a To user. The From user is set to the same user as the To user specified at the shipment that is swapped (SwapsShipmentUid). You can later on set the receiver using SetShipmentReceiver

The CreateLocalShipment call is a generic call that can be used to create almost all type of shipments. For you convenience you can use any of the other CreateLocalShipmentAs... shipments (see below) to create shipments for a specific use case.

{
    # Mandatory Fields
    "FromUserUid": null,            
    "ToUserUid": "",                # User that will pick up the shipment.
    "PupUid": "",                   # PickUpPoint to book a locker on.
    "Dimension": {                  # Dimension of the package in centimeters. 
        "width": 1,                 #  This will determine the locker size.
        "height": 1,                #  Minimum is 1cm for each side.
        "length": 1,
    },
    "AllowLargerLockers": true,     # True if to allow larger than needed lockers. When false the 
                                    #  shipment will not be booked, even if there are lockers  
                                    #  available that are larger than specified dimension.

    "AllowOverflowLockers": false,   # When true, this will allow booking the shipment in
                                     # other PickUpPoints. Only applicable when another
                                     # overflow PickUpPoint is configured.

    # Optional Fields
    "ReferenceNo": null,            # Optional referenceno (string)
    "ReferenceCaseNo": null,        # Optional Related case number of this shipment (string).
    "Description": null,            # Optional description (string)
    "IsReceiverDelayed":true/false, # Set to true if the ToUserUid will be set at a later time.
                                    # If true the ToUserUid should not be set.
    "SwapsShipmentUid": null,       # Optional ShipmentUid of another shipment to swap with.
    "LockerUid": ""                 # Unique id of the locker.
}

The following example will create a new shipment on PickUpPoint 6d35... from the currently authenticated dispatcher to the Account 638f.... The size of the shipment is 10cmx10cmx10cm and it will only register the shipments if any of the smallest possible lockers (that can fit the shipment's size) are available.

POST /v1/Logistics/CreateLocalShipment HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "FromUserUid": null,
    "ToUserUid": "638f2fa4722a4a2686286f07fd6ea2fa",
    "PupUid": "6d35c61f3fba4186a8c276bb9b9a2f63",
    "ReferenceNo": null,
    "ReferenceCaseNo": null,
    "Description": null,
    "Dimension": {
        "width": 10,
        "height": 10,
        "length": 10,
    },
    "AllowLargerLockers": false,
    "AllowOverflowLockers": false,
    "LockerUid": "b2d2e23...228cdd"
}

{
  "shipmentUid": "",                # Unique identifier for the newly created shipment.
  "pupUid": "",                     # Unique id of the pick up point that was booked.
  "lockerName": "",                 # Name (number) of the locker that was booked.
  "success": true/false,            # Command executed successfully
  "error": null,                    # Error code (if any)
  "message": null                   # Error message (if any)
}
{
  "shipmentUid": "472843a4322a4a2686286f07fd6eabe4",
  "pupUid": "6d35c61f3fba4186a8c276bb9b9a2f63",
  "lockerName": "10",
  "success": true,
  "error": null,
  "message": null
}

Issue new item

Location /v1/Logistics/CreateLocalShipmentAsIssue

A booking to drop off an item into a locker so a user can pick it up.

Registers a shipment flow as:

  • Creates a new issue shipment, from dispatcher to user.
{
    # Mandatory Fields
    "PupUid": "",                    # PickUpPoint to book a locker on.
    "ToUserUid": null,               # User that will pick up the shipment

    "AllowLargerLockers": true,      # True if to allow larger than needed lockers. When false the
                                     # shipment will not be booked, even if there are lockers  
                                     # available that are larger than specified dimension.

    "AllowOverflowLockers": false,   # When true, this will allow booking the shipment in
                                     # other PickUpPoints. Only applicable when another
                                     # overflow PickUpPoint is configured.


    "Dimension": {                   # Dimension of the package in centimeters. 
        "width": 1,                  #  This will determine the locker size.
        "height": 1,                 #  Minimum is 1cm for each side.
        "length": 1,                 
    }

    # Optional Fields
    "Details": {                     
        "ReferenceNo": null,         # Optional referenceno (string)
        "ReferenceCaseNo": null,     # Optional Related case number of this shipment (string).
        "Description": null,         # Optional description (string)
    },
    "LockerUid": ""                  # Unique id of the locker.
}
POST /v1/Logistics/CreateLocalShipmentAsIssue HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "PupUid": "6d35c61f3f...c2a2f63",
    "ToUserUid": "12a7fb14....a167d146468a",
    "AllowLargerLockers": false,            
    "AllowOverflowLockers": false,
    "Dimension": {
        "width": 10,
        "height": 10,
        "length": 10
    },
    "Details": {                     
        "ReferenceNo": "1234",
        "ReferenceCaseNo": "I2021-5487",     
        "Description": null,         
    },
    "LockerUid": "b2d2e23...228cdd"
}
{
    "shipmentUids": [
        "",                         # Unique identifier for the newly created shipment.
    ],
    "success": true/false,          # Command executed successfully
    "error": null,                  # Error code (if any)
    "message": null                 # Error message (if any)                
}
{
    "shipmentUids": [
        "fee5c6.....45be716"
    ],
    "success": true,
    "error": null,
    "message": null
}

Issue new item with return

Location /v1/Logistics/CreateLocalShipmentAsIssueAndSwapIntake

Same as the CreateLocalShipmentAsIssue option, but with an extra booking to allow a user to return an item.

Registers a shipment flow as:

  • New issue shipment, from dispatcher to user.
  • Swapping intake shipment, from the same user to dispatcher.
{
    # Mandatory Fields
    "PupUid": "",                    # PickUpPoint to book a locker on.

    "ToUserUid": null,               # User that will pick up the shipment

    "AllowLargerLockers": true,      # True if to allow larger than needed lockers. When false the
                                     # shipment will not be booked, even if there are lockers  
                                     # available that are larger than specified dimension.

    "AllowOverflowLockers": false,   # When true, this will allow booking the shipment in
                                     # other PickUpPoints. Only applicable when another
                                     # overflow PickUpPoint is configured.

    "Dimension": {                   # Dimension of the package in centimeters. 
        "width": 1,                  #  This will determine the locker size.
        "height": 1,                 #  Minimum is 1cm for each side.
        "length": 1,                 
    },       

    # Optional Fields   
    "Details": {                     
        "ReferenceNo": null,         # Optional referenceno (string)
        "ReferenceCaseNo": null,     # Optional Related case number of this shipment (string)
        "Description": null,         # Optional description (string)
    },
    "Return": {
        "ReferenceNo": null,
        "ReferenceCaseNo": null,
        "Description": null
    },
    "LockerUid": ""                  # Unique id of the locker.
}
POST /v1/Logistics/CreateLocalShipmentAsIssueAndSwapIntake HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "PupUid": "6d35c61f3f...c2a2f63",
    "ToUserUid": "12a7fb14....a167d146468a",
    "AllowLargerLockers": false,            
    "AllowOverflowLockers": false,
    "Dimension": {
        "width": 10,
        "height": 10,
        "length": 10
    },
    "Details": {
        "ReferenceNo": null,
        "ReferenceCaseNo": null,
        "Description": null
    },
    "Return": {
        "ReferenceNo": null,
        "ReferenceCaseNo": null,
        "Description": null
    },
    "LockerUid": "b2d2e23...228cdd"
}
{
    "shipmentUids": [               # Returns 2 shipments ids
        "",                         # Unique identifier for the newly created shipment.
    ],
    "success": true/false,          # Command executed successfully
    "error": null,                  # Error code (if any)
    "message": null                 # Error message (if any)                    
}
{
    "shipmentUids": [
        "fee5c6.....d39e10e1deb1"
        "b8e01b66.....487c983bf408"
    ],
    "success": true,
    "error": null,
    "message": null
}

Stock booking

Location /v1/Logistics/CreateLocalShipmentAsStock

Book a locker to store an item in the locker so it can be issued at a later time to a user.

Registers a shipment flow as:

  • New stock shipment without a receiving user.
{
    # Mandatory Fields
    "PupUid": "",                    # PickUpPoint to book a locker on.
    "AllowLargerLockers": true,      # True if to allow larger than needed lockers. When false the
                                     # shipment will not be booked, even if there are lockers  
                                     # available that are larger than specified dimension.

    "AllowOverflowLockers": false,   # When true, this will allow booking the shipment in
                                     # other PickUpPoints. Only applicable when another
                                     # overflow PickUpPoint is configured.

    "Dimension": {                   # Dimension of the package in centimeters. 
        "width": 1,                  #  This will determine the locker size.
        "height": 1,                 #  Minimum is 1cm for each side.
        "length": 1,                 
    },       

    # Optional Fields
    "Details": {                     
        "ReferenceNo": null,         # Optional referenceno (string)
        "ReferenceCaseNo": null,     # Optional Related case number of this shipment (string).
        "Description": null,         # Optional description (string)
    },
    "LockerUid": ""                  # Unique id of the locker.
}
POST /v1/Logistics/CreateLocalShipmentAsStock HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "PupUid": "6d35c61f3f...c2a2f63",
    "AllowLargerLockers": false,            
    "AllowOverflowLockers": false,
    "Dimension": {
        "width": 10,
        "height": 10,
        "length": 10
    },
    "Details": {
        "ReferenceNo": null,
        "ReferenceCaseNo": null,
        "Description": null
    },
    "LockerUid": "b2d2e23...228cdd"
}
{
    "shipmentUids": [
        "",                         # Unique identifier for the newly created shipment.
    ],
    "success": true/false,          # Command executed successfully
    "error": null,                  # Error code (if any)
    "message": null                 # Error message (if any)            
}
{
    "shipmentUids": [
        "fee5c6.....45be716"
    ],
    "success": true,
    "error": null,
    "message": null
}

Stock booking after existing return

Location /v1/Logistics/CreateLocalShipmentAsStockAfterSwapIntake

Book a locker to store an item inside a locker for an already previously booked return booking.

Registers a shipment flow as:

  • Creating a new (swapping) stock shipment after an already existing intake shipment.
{
    # Mandatory Fields
    "PriorShipmentUid": null,        # Return shipment's uid

    "Dimension": {                   # Dimension of the package in centimeters. 
        "width": 1,                  #  This will determine the locker size.
        "height": 1,                 #  Minimum is 1cm for each side.
        "length": 1,                 
    }

    # Optional Fields
    "Details": {                     
        "ReferenceNo": null,         # Optional referenceno (string)
        "ReferenceCaseNo": null,     # Optional Related case number of this shipment (string).
        "Description": null,         # Optional description (string)
    }
}
POST /v1/Logistics/CreateLocalShipmentAsStockAfterSwapIntake HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "PriorShipmentUid": "365054c3....49a404171f81",

    "Dimension": {
        "width": 10,
        "height": 10,
        "length": 10
    },

    "Details": {                     
        "ReferenceNo": null,        
        "ReferenceCaseNo": null,
        "Description": null 
    }
}
{
    "shipmentUids": [
        "",                         # Unique identifier for the newly created shipment.
    ],
    "success": true/false,          # Command executed successfully
    "error": null,                  # Error code (if any)
    "message": null                 # Error message (if any)                
}
{
    "shipmentUids": [
        "fee5c6.....45be716"
    ],
    "success": true,
    "error": null,
    "message": null
}

Issue from stock

Location /v1/Logistics/CreateLocalShipmentAsIssueFromStock

Issue a previously booked stock booking to a user.

Registers a shipment flow as:

  • Issue an existing stock shipment to a user (setting the receiver)
{
    # Mandatory Fields
    "PriorShipmentUid": null,        # Stock shipment uid
    "ToUserUid": null,               # User that will pick up the shipment

    # Optional Fields
    "Issue": {
        "ReferenceCaseNo": null,     # Optional Related case number of this shipment (string).
    }    
}
POST /v1/Logistics/CreateLocalShipmentAsIssueFromStock HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "PriorShipmentUid": "365054c3....49a404171f81",

    "ToUserUid": "12a7fb14....a167d146468a",
    "Issue": {
        "ReferenceCaseNo": null,
    }
}
{
    "shipmentUids": [
        "",                         # Unique identifier for the newly created shipment.
    ],
    "success": true/false,          # Command executed successfully
    "error": null,                  # Error code (if any)
    "message": null                 # Error message (if any)                
}
{
    "shipmentUids": [
        "fee5c6.....45be716"
    ],
    "success": true,
    "error": null,
    "message": null
}

Issue from stock with return

Location /v1/Logistics/CreateLocalShipmentAsIssueFromStockAndSwapIntake

Issue a previously booked stock booking to a user & create a subsequent booking to allow the user to return an item.

Registers a shipment flow as:

  • Issue an existing stock shipment to a user (setting the receiver)
  • Create a new intake shipment as a swap on the previous shipment.
{
    # Mandatory Fields
    "PriorShipmentUid": null,        # Stock shipment uid

    "ToUserUid": null,               # User that will pick up the shipment   

    # Optional Fields
    "Return": {                      # Return shipment object
        "ReferenceNo": null,         # Optional referenceno (string)
        "ReferenceCaseNo": null,     # Optional Related case number
        "Description": null,         # Optional description (string)
    }

    "Issue": {                       
        "ReferenceCaseNo": null,     # Optional Related case number of this shipment (string).
    }
}
POST /v1/Logistics/CreateLocalShipmentAsIssueFromStockAndSwapIntake HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "PriorShipmentUid": "365054c3....49a404171f81",
    "ToUserUid": "9ca180d6....338dbb407568",

    "Return": {
        "ReferenceNo": null,
        "ReferenceCaseNo": null,
        "Description": null
    },

    "Issue": {
        "ReferenceCaseNo": null,    # Optional Related case number of this shipment (string). 
    }
}
{
    "shipmentUids": [
        "",                         # Unique identifier for the newly created shipment.
    ],
    "success": true/false,          # Command executed successfully
    "error": null,                  # Error code (if any)
    "message": null                 # Error message (if any)                
}
{
    "shipmentUids": [
        "fee5c6.....45be716"
    ],
    "success": true,
    "error": null,
    "message": null
}

Return an item

Location /v1/Logistics/CreateLocalShipmentAsIntake

Book a locker to allow the user to return a single item.

Registers a shipment flow as:

  • Create a new shipment from a user to a dispatcher.
{
    # Mandatory Fields
    "PupUid": "",                    # PickUpPoint to book a locker on.

    "FromUserUid": "",               # User that will drop off the shipment.

    "AllowLargerLockers": true,      # True if to allow larger than needed lockers. When false the
                                     # shipment will not be booked, even if there are lockers  
                                     # available that are larger than specified dimension.

    "AllowOverflowLockers": false,   # When true, this will allow booking the shipment in
                                     # other PickUpPoints. Only applicable when another
                                     # overflow PickUpPoint is configured.


    "Dimension": {                   # Dimension of the package in centimeters. 
        "width": 1,                  #  This will determine the locker size.
        "height": 1,                 #  Minimum is 1cm for each side.
        "length": 1,                 
    },  

    # Optional Fields
    "Details": {                     
        "ReferenceNo": null,         # Optional referenceno (string)
        "ReferenceCaseNo": null,     # Optional Related case number of this shipment (string).
        "Description": null,         # Optional description (string)
    },
    "LockerUid": ""                  # Unique id of the locker.

}
POST /v1/Logistics/CreateLocalShipmentAsIntake HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "PupUid": "6d35c61f3f...c2a2f63",
    "FromUserUid": "9ca180d6....338dbb407568",
    "AllowLargerLockers": false,            
    "AllowOverflowLockers": false,
    "Dimension": {
        "width": 10,
        "height": 10,
        "length": 10
    },
    "Details": {
        "ReferenceNo": null,
        "ReferenceCaseNo": null,
        "Description": null
    },
    "LockerUid": "b2d2e23...228cdd"
}
{
    "shipmentUids": [
        "",                         # Unique identifier for the newly created shipment.
    ],
    "success": true/false,          # Command executed successfully
    "error": null,                  # Error code (if any)
    "message": null                 # Error message (if any)                
}
{
    "shipmentUids": [
        "fee5c6.....45be716"
    ],
    "success": true,
    "error": null,
    "message": null
}

Return an item as stock

Location /v1/Logistics/CreateLocalShipmentAsIntakeAndCircularStock

Create both an intake and stock booking. When the item is returned it will automatically be available as stock again.

Registers a shipment flow as:

  • Creates a new shipment as an intake shipment.
  • Creates another new shipment with a "circular" prior shipment reference.
    This means that when the original item is dropped off, the second shipment will be marked as ready for pick up.
{
    # Mandatory Fields
    "PupUid": "",                    # PickUpPoint to book a locker on.

    "FromUserUid": "",               # User that will drop off the shipment.

    "AllowLargerLockers": true,      # True if to allow larger than needed lockers. When false the
                                     # shipment will not be booked, even if there are lockers  
                                     # available that are larger than specified dimension.

    "AllowOverflowLockers": false,   # When true, this will allow booking the shipment in
                                     # other PickUpPoints. Only applicable when another
                                     # overflow PickUpPoint is configured.


    "Dimension": {                   # Dimension of the package in centimeters. 
        "width": 1,                  #  This will determine the locker size.
        "height": 1,                 #  Minimum is 1cm for each side.
        "length": 1,                 
    },       

    # Optional Fields       
    "Details": {                     
        "ReferenceNo": null,         # Optional referenceno (string)
        "ReferenceCaseNo": null,     # Optional Related case number of this shipment (string).
        "Description": null,         # Optional description (string)
    },
    "LockerUid": ""                  # Unique id of the locker.

}
POST /v1/Logistics/CreateLocalShipmentAsIntakeAndCircularStock HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "PupUid": "6d35c61f3f...c2a2f63",
    "FromUserUid": "9ca180d6....338dbb407568",
    "AllowLargerLockers": false,            
    "AllowOverflowLockers": false,
    "Dimension": {
        "width": 10,
        "height": 10,
        "length": 10
    },
    "Details": {
        "ReferenceNo": null,
        "ReferenceCaseNo": null,
        "Description": null
    },
    "LockerUid": "b2d2e23...228cdd"
}
{
    "shipmentUids": [               # Returns 2 shipments ids 
        "",                         # Unique identifier for the newly created shipment.
    ],
    "success": true/false,          # Command executed successfully
    "error": null,                  # Error code (if any)
    "message": null                 # Error message (if any)                
}
{
    "shipmentUids": [
        "fee5c6.....45be716"
        "cfe9bf61.....7b5667"
    ],
    "success": true,
    "error": null,
    "message": null
}

Issue from stock and return item as stock

Location /v1/Logistics/CreateLocalShipmentAsIssueFromStockAndSubsequentIntakeAndCircularStock

Issue a previously booked stock booking to a user. Also create a returning intake and stock booking so when the item is returned it will automatically be available as stock again.

Registers a shipment flow as:

  • Issue an existing Stock Shipment to a user.
  • Then book a new subsequent shipment for the same ToUserUid to return the item (=intake shipment)
  • Also book a new circular shipment after the intake shipment to re-publish the item as stock again.
    When no details are specified the details from the stock shipment are used.
{
    # Mandatory Fields
    "PriorShipmentUid": null,        # Stock shipment uid
    "ToUserUid": null,               # User that will pick up the shipment

    # Optional Fields
    "Return": {                      # Return shipment object
        "ReferenceNo": null,         # Optional referenceno (string)
        "ReferenceCaseNo": null,     # Optional Related case number
        "Description": null,         # Optional description (string)
    }

    "Issue": {
        "ReferenceCaseNo": null,     # Optional Related case number of this shipment (string).
    }
}
POST /v1/Logistics/CreateLocalShipmentAsIssueFromStockAndSubsequentIntakeAndCircularStock HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "ReferenceCaseNo": null,
    "PriorShipmentUid": "365054c3....49a404171f81",

    "ToUserUid": "12a7fb14....a167d146468a",

    "Details": {                     
        "ReferenceNo": "1234",
        "ReferenceCaseNo": "I2021-5487",     
        "Description": null,         
    },

    "Issue": {                     
        "ReferenceCaseNo": "I2021-5487" 
    }
}
{
    "shipmentUids": [               # Returns 3 shipments ids
        "",                         # Unique identifier for the newly created shipment.
    ],
    "success": true/false,          # Command executed successfully
    "error": null,                  # Error code (if any)
    "message": null                 # Error message (if any)                    
}
{
    "shipmentUids": [
        "fee5c6.....d39e10e1deb1"
        "ddfd02da.....b0515788f46e"
        "cf63a841.....971e10a49da4"
    ],
    "success": true,
    "error": null,
    "message": null
}

Create any collect only

Location /v1/Logistics/CreateCollectOnlyShipment

Book a locker for a single time collect only. When creating a new shipment a ToUserUid can be specified. This results in a Collect only by user) booking. When the ToUserUid is not specified, the user will be set to the Dispatcher and books a locker as a Collect only by dispatcher) booking.

Do you want to send a shipment to another account? For more information, see Create Local Shipment call

{
    # Mandatory Fields
    "PupUid": "",                    # PickUpPoint to book a locker on.

    "AllowLargerLockers": true,      # True if to allow larger than needed lockers. When false the
                                     # shipment will not be booked, even if there are lockers  
                                     # available that are larger than specified dimension.

    "AllowOverflowLockers": false,   # When true, this will allow booking the shipment in
                                     # other PickUpPoints. Only applicable when another
                                     # overflow PickUpPoint is configured.                                   

    "KeepBookedAfterPickUp": false,  # Keep locker booked after pickup. This changes a single
                                     # collection to an infinite locker booking.
    "Dimension": {                   # Dimension of the package in centimeters. 
        "width": 1,                  #  This will determine the locker size.
        "height": 1,                 #  Minimum is 1cm for each side.
        "length": 1,                 
    },       

    # Optional Fields                   
    "ToUserUid": "",                 # User that will pick up the shipment
    "Details": {                     
        "ReferenceNo": null,         # Optional referenceno (string)
        "ReferenceCaseNo": null,     # Optional Related case number of this shipment (string).
        "Description": null,         # Optional description (string)
    },
    "LockerUid": ""                  # Unique id of the locker.
}
POST /v1/Logistics/CreateCollectOnlyShipmentAsCollectByUser HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "PupUid": "6d35c61f3f...c2a2f63",
    "ToUserUid": "9ca180d6....338dbb407568",
    "AllowLargerLockers": false,            
    "AllowOverflowLockers": false,
    "KeepBookedAfterPickUp": false,
    "Dimension": {
        "width": 10,
        "height": 10,
        "length": 10
    },
    "Details": {
        "ReferenceNo": null,
        "ReferenceCaseNo": null,
        "Description": null
    },
    "LockerUid": "b2d2e23...228cdd"
}
{
  "shipmentUid": "",                # Unique identifier for the newly created shipment.
  "pupUid": "",                     # Unique id of the pick up point that was booked.
  "lockerName": "",                 # Name (number) of the locker that was booked.
  "success": true/false,            # Command executed successfully
  "error": null,                    # Error code (if any)
  "message": null                   # Error message (if any)
}
{
  "shipmentUid": "472843a4322a4a2686286f07fd6eabe4",
  "pupUid": "6d35c61f3fba4186a8c276bb9b9a2f63",
  "lockerName": "10",
  "success": true,
  "error": null,
  "message": null
}

Collect only by dispatcher

Location /v1/Logistics/CreateCollectOnlyShipmentAsCollectByDispatcher

Book a locker for a single time collect only. The collector will be the current dispatcher.

Registers a shipment flow as:

  • Creates a new 'collect only' shipment by a dispatcher
{
    # Mandatory Fields
    "PupUid": "",                    # PickUpPoint to book a locker on.                                  
    "AllowLargerLockers": true,      # True if to allow larger than needed lockers. When false the
                                     # shipment will not be booked, even if there are lockers  
                                     # available that are larger than specified dimension.

    "AllowOverflowLockers": false,   # When true, this will allow booking the shipment in
                                     # other PickUpPoints. Only applicable when another
                                     # overflow PickUpPoint is configured.      

    "KeepBookedAfterPickUp": false,  # Keep locker booked after pickup                                      

    "Dimension": {                   # Dimension of the package in centimeters. 
        "width": 1,                  #  This will determine the locker size.
        "height": 1,                 #  Minimum is 1cm for each side.
        "length": 1,                 
    },       

    # Optional Fields
    "Details": {                     
        "ReferenceNo": null,         # Optional referenceno (string)
        "ReferenceCaseNo": null,     # Optional Related case number of this shipment (string).
        "Description": null,         # Optional description (string)
    },
    "LockerUid": ""                  # Unique id of the locker.
}
POST /v1/Logistics/CreateCollectOnlyShipmentAsCollectByDispatcher HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "PupUid": "6d35c61f3f...c2a2f63",
    "AllowLargerLockers": false,            
    "AllowOverflowLockers": false,

    "KeepBookedAfterPickUp": false,
    "Dimension": {
        "width": 10,
        "height": 10,
        "length": 10
    },
    "Details": {
        "ReferenceNo": null,
        "ReferenceCaseNo": null,
        "Description": null
    },
    "LockerUid": null
}
{
    "shipmentUids": [
        "",                         # Unique identifier for the newly created shipment.
    ],
    "success": true/false,          # Command executed successfully
    "error": null,                  # Error code (if any)
    "message": null                 # Error message (if any)                    
}
{
    "shipmentUids": [
        "fee5c6.....45be716"
    ],
    "success": true,
    "error": null,
    "message": null
}

Collect only by user

Location /v1/Logistics/CreateCollectOnlyShipmentAsCollectByUser

Book a locker for a single time collect only. The item will be collected by specified user.

Registers a shipment flow as:

  • Creates a new 'collect only' shipment by a user
{
    # Mandatory Fields
    "PupUid": "",                    # PickUpPoint to book a locker on.

    "ToUserUid": "",                 # User that will pick up the shipment

    "AllowLargerLockers": true,      # True if to allow larger than needed lockers. When false the
                                     # shipment will not be booked, even if there are lockers  
                                     # available that are larger than specified dimension.

    "AllowOverflowLockers": false,   # When true, this will allow booking the shipment in
                                     # other PickUpPoints. Only applicable when another
                                     # overflow PickUpPoint is configured.                                   

    "KeepBookedAfterPickUp": false,  # Keep locker booked after pickup                                  

    "Dimension": {                   # Dimension of the package in centimeters. 
        "width": 1,                  #  This will determine the locker size.
        "height": 1,                 #  Minimum is 1cm for each side.
        "length": 1,                 
    },       

    # Optional Fields                   
    "Details": {                     
        "ReferenceNo": null,         # Optional referenceno (string)
        "ReferenceCaseNo": null,     # Optional Related case number of this shipment (string).
        "Description": null,         # Optional description (string)
    },
    "LockerUid": ""                  # Unique id of the locker.
}
POST /v1/Logistics/CreateCollectOnlyShipmentAsCollectByUser HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "PupUid": "6d35c61f3f...c2a2f63",
    "ToUserUid": "9ca180d6....338dbb407568",
    "AllowLargerLockers": false,            
    "AllowOverflowLockers": false,
    "KeepBookedAfterPickUp": false,
    "Dimension": {
        "width": 10,
        "height": 10,
        "length": 10
    },
    "Details": {
        "ReferenceNo": null,
        "ReferenceCaseNo": null,
        "Description": null
    },
    "LockerUid": null
}
{
    "shipmentUids": [
        "",                         # Unique identifier for the newly created shipment.
    ],
    "success": true/false,          # Command executed successfully
    "error": null,                  # Error code (if any)
    "message": null                 # Error message (if any)                
}
{
    "shipmentUids": [
        "fee5c6.....45be716"
    ],
    "success": true,
    "error": null,
    "message": null
}