Skip to main content

Mobile App: POD - Proof of Delivery

Introduction

The mobile app lets you record a proof-of-delivery in different circumstances:

  • Planned - for an existing order in a planned route
  • Ad-hoc - without a planned order
  • Ad-hoc - for an existing order that is not part of a route

To record a planned POD, open Stop details page and click on the Create POD button.  Creating PODs is available on all subscription levels, including Free.

20260804_1.png

To record an ad-hoc POD, you can press the Create POD button in Menu or on PODs page.

20260804_4.png20260804_3.png

You will be redirected to POD creation page.

Planned POD

20260804_7.png20260804_8.png20260804_9.png

In the Stop details section, you will see the following fields:

FieldsDescription
TypeDelivery or Collection.
Order keyOrder identifier unique within the environment, for example, an order number 1, 2, 3, 4, etc.
AddressThe app uses the address indicated in the order.

In the Recipient details section, you will see the following fields:

FieldsDescription
Contact nameName of the person who received the order.
EmailEmail address for sending the proof-of-delivery email.
Phone numberPhone number of the person who received the order.
Mobile numberMobile phone number of the person who received the order.

In the Packages section, you can review, add, or scan packages for the stop (order), mark some of them as failed if it is needed. Packages are available only with Advanced and Enterprise subscription levels.

In the Delivery details section, you can add remarks. In the mobile app, Settings → Proof of delivery lets you configure remarks requirements for successful, partially successful, and failed PODs.

Details such as type, order key, contact name, email and address will be pre-populated from the stop (order) for which you are creating the POD.  You can edit remarks and provide contact name if it was not pre-populated from the stop (order).  Under Settings → Proof of delivery in the mobile app, you can choose whether a contact name is required for each POD status: successful, partially successful, or failed.

You can select the POD status:

  • Successful - order has been successfully delivered/collected.
  • Partially successful - part of the order has been delivered/collected.
  • Failed - delivery/collection has failed.

20260804_10.png

In the Signature section, record the recipient’s signature by pressing the Add signature button and saving the recorded signature.  In the mobile app, Settings → Proof of delivery lets you configure signature requirements for successful, partially successful, and failed PODs.  In the Photos section, you can take or select pictures for the proof-of-delivery. As with signatures, you can configure whether photos are required for each POD status (successful, partially successful, or failed) in the mobile app under Settings → Proof of delivery.

20260804_11.png

After filling in the information, press the Create button to save the POD.  When the POD is created, you will be redirected back to Stop details.  In Stop details page, you will see in the right corner:

  • a green "done" icon for “Successful” POD status
  • a yellow “done” icon for “Partially successful” POD status
  • a red “cross” icon for “Failed” POD status

A green “refresh” icon means that there are pending signatures/photos inside a POD. Once they will be successfully uploaded, the icon will be changed accordingly to one of the relevant statuses described above.

20260804_12.png20260804_13.png20260804_14.png

You can click the POD icon to view POD details. If the order has only one POD, its details will open immediately. If there are multiple PODs, a dialog will appear first so you can select the POD you want to view.

20260804_15.png20260804_16.png20260804_17.png

Also, the created POD will be saved in the POD history on the PODs page.

POD statuses (successful, partially successful, failed, no POD) are also displayed alongside the stops in Route plan page. The POD icon on stop cards on Route view page is not clickable. To view POD details, open the order and click the POD icon, or check the PODs page.

20260804_18.png

Order Packages

When the order has pre-defined packages, they are displayed in the Packages section.  On each package card, a barcode, description, height, width, depth, weight, and volume can be displayed depending on the data provided Hub: Orders, mobile app or API for an order. Adding/scanning/marking packages as failed is available only with Advanced or Enterprise subscription level.

App 153.png

When the order doesn't have packages, the Packages section is collapsed by default.  You can expand it, provide the number of successfully delivered/collected packages out of the total planned and add packages by typing a barcode manually or scanning package barcodes.  

App 154.pngApp 155.png

When you create a POD for multiple orders, the Packages section is hidden.

App 156.pngApp 157.png

By default, packages are marked as delivered (checkboxes are selected). See Mobile App: POD - Proof of Delivery on marking packages as failed.

App 153.png

Order Products

When the order has pre-defined products, they are displayed in the Products section.  On each product card, a product code, description, quantity, and weight can be displayed depending on the data provided in Hub: Orders or via the API for an order. Adding/marking products as failed is available only with Enterprise subscription level.

App 158.png

When the order doesn't have products, the Products section is not displayed.  When you create a POD for multiple orders, the Products section is hidden.

App 157.pngApp 156.png

By default, products are marked as delivered (checkboxes are selected). See Mobile App: POD - Proof of Delivery on marking products as failed.

App 158.png

Order Packages with Products

When the order has pre-defined products and packages linked, they are displayed in the Packages and products section.  For a package, a barcode, height, width, depth, volume, and weight can be displayed depending on the data provided in Geo2 Hub, mobile app or API. For a product, a product code, description, quantity, and weight can be displayed depending on the data provided in Geo2 Hub or API. To check products added to a package, press the Products button on a package. The list of products added to the package will be displayed. Press Back to return to Create POD page.

App 160.pngApp 159.png

When you create a POD for multiple orders, the Packages and products section is hidden.

App 157.pngApp 156.png

By default, packages with products inside are marked as delivered (checkboxes are selected). See Mobile App: POD - Proof of Delivery on marking packages with products as failed.

App 159.png

Ad-hoc/Unplanned POD

You can create an ad-hoc POD for an existing order by specifying its key.  If the order key does not yet exist, a skeleton order will be created in the background (depending on Hub: Environment Settings).  If you provide the key of an existing order, details such as type, key, contact name, email, and address are pre-populated.  You can edit remarks and contact name.

App 161.pngApp 162.pngApp 163.png

If the order does not exist yet, fill in the following fields in the Stop details section:

FieldsDescriptionRequired
TypeDelivery or CollectionYes
Order keyOrder identifier unique within the environment, for example, an order number 1, 2, 3, 4, etc. You can click on the Scan icon to scan the key.  It is possible to provide multiple order keys.Yes
AddressThe app uses the current device location. This can be edited.Yes

If the order does not exist yet, fill in the following fields in the Recipient details section:

FieldsDescriptionRequired
Contact nameName of the person who received the orderConfigured through Settings → Proof of delivery in the app
EmailEmail address for sending the proof-of-delivery emailNo
Phone numberRecipient phone numberNo
Mobile numberRecipient mobile phone numberNo

In the Packages section, you can review, add, or scan packages for the stop (order), mark some of them as failed if it is needed. Packages are available only with Advanced and Enterprise subscription levels.

In the Delivery details section, you can add remarks. In the mobile app, Settings → Proof of delivery lets you configure remarks requirements for successful, partially successful, and failed PODs.

You can select the POD status:

  • Successful - order has been successfully delivered/collected.
  • Partially successful - part of the order has been delivered/collected.
  • Failed - delivery/collection has failed.

App 164.png

In the Signature section, record the recipient’s signature by pressing the Add signature button and saving the recorded signature.  In the mobile app, Settings → Proof of delivery lets you configure signature requirements for successful, partially successful, and failed PODs.  In the Photos section, you can take or select pictures for the proof-of-delivery. As with signatures, you can configure whether photos are required for each POD status (successful, partially successful, or failed) in the mobile app under Settings → Proof of delivery.

App 146.png

After filling in all the data, press the Create POD button to save the POD.  After the POD is created, it will be saved in POD history on PODs page.  Icons on the right side of each POD means:

  • a green "done" icon for “Successful” POD status
  • a yellow “done” icon for “Partially successful” POD status
  • a red “cross” icon for “Failed” POD status

App 165.png

Order Packages

When the order has pre-defined packages (ad-hoc POD for existing order), they are displayed in the Packages section.  On each package card, a barcode, description, height, width, depth, weight, and volume can be displayed depending on the data provided Hub: Orders, mobile app or API for an order.

Adding/scanning/marking packages as failed is available only with Advanced or Enterprise subscription level.

App 143.png

When the order doesn't have packages (ad-hoc POD for either existing order without pre-defined packages or not yet existing order), the Packages section is collapsed by default.  You can expand it, provide the number of successfully delivered/collected packages out of the total planned, and add packages by typing a barcode manually or scanning package barcodes.

App 154.pngApp 155.png

When you create a POD for multiple orders, the Packages section is hidden.

App 166.pngApp 167.png

By default, packages are marked as delivered (checkboxes are selected). See Mobile App: POD - Proof of Deliveryon marking packages as failed.

App 153.png

Order Products

When the order has pre-defined products (ad-hoc POD for existing order key), they are displayed in the Products section.  On each product card, a product code, description, quantity, and weight can be displayed depending on the data provided Hub: Orders or API for an order.

Adding/marking products as failed is available only with Enterprise subscription level.

App 158.png

When the order doesn't have products, the Products section is not displayed.  It is not possible to add them via the mobile app. When you create a POD for multiple orders, the Products section is hidden.

App 166.pngApp 167.png

By default, products are marked as delivered (checkboxes are selected). See Mobile App: POD - Proof of Delivery on marking products as failed.

App 158.png

Order Packages with Products

When the order has pre-defined products and packages linked, they are displayed in the Packages and products section.  For a package, a barcode, height, width, depth, volume, and weight can be displayed depending on the data provided in Geo2 Hub, mobile app or API. For a product, a product code, description, quantity, and weight can be displayed depending on the data provided in Geo2 Hub or API. To check products added to a package, press the Products button on a package. The list of products added to the package will be displayed. Press Back to return to Create POD page.

App 159.pngApp 160.png

When you create a POD for multiple orders, the Packages and products section is hidden. By default, packages with products inside are marked as delivered (checkboxes are selected). See Mobile App: POD - Proof of Delivery on marking packages with products as failed.

App 159.png

POD Custom Fields

In the Environment settings in Geo2 Hub, you can set up custom fields to collect additional information in POD's.  Here is an example:

  • Ask for the driver's name
  • Ask if the parcel is intact

Custom fields are available only with Enterprise subscription level.

Screenshot 2025-12-29 at 12.19.07.png

That's how the fields would look when recording a POD:

App 168.png

Package-level Failures

If the order has pre-defined packages, they will be displayed on Create POD page, marked as delivered by default (checkboxes are selected).  You can de-select a package to mark that it was not delivered.  You will see a prompt to specify the failure reason code for it.  The POD status will be automatically changed from Successful to Partially successful and the failure reason code from the package level will be populated to the general POD level.  The failure code for the package will be highlighted in red colour.  You can press it to select another code.

You can first select the Partially successful status, a general failure reason code for the POD, and after that, de-select packages.  The general failure reason code will be populated to the package level, but you can change it for each package individually.

App 170.pngApp 169.pngApp 171.pngApp 172.pngApp 173.png

If all packages have failed, you can either de-select each manually by unticking the checkboxes or by pressing the Deselect all button.  You will see the Select failure reason code button on each package to specify the failure reason code.  You can press a package card to provide a failure reason code.  You will see two options - Apply for all failed packages or Apply for selected package. If Apply for all failed packages is selected, the failure reason code will be populated for all packages. If Apply for selected package is selected, the failure reason code will be populated only for the selected package. You can press other package cards and select another failure reason for them. You will see the same options - Apply for all failed packages (those without a reason code so far) or Apply for selected package. The last selected failure reason code will be saved for the general POD level. The POD status will be automatically changed from Successful to Failed and the failure reason code from the package level will be populated to the general POD level.  The failure code for the packages will be highlighted in red colour.  You can press it to select another code (for example, to provide an individual code for each package).

You can first select a Failed status and a general failure reason code for the POD.  All packages will be de-selected automatically.  The general failure reason code will be populated to the package level, but you can change it for each package individually.

App 174.pngApp 175.pngApp 176.pngApp 177.pngApp 178.pngApp 179.pngApp 180.png

To mark all unticked (de-selected) packages as successful again, press the Select all button - the POD status will be changed to Successful as well.

Package Scanning

Package scanning serves multiple purposes:

  • to add packages to an order when it does not have them yet
  • to validate whether a package belongs to the order, when the order has packages pre-defined
  • to specify packages that have been delivered, both when they are pre-defined and when they have just been added in the course of POD creation

Package scanning is available only with Advanced and Enterprise subscription levels.

Adding and Confirming Packages

If the order has no pre-defined packages, it is possible to scan barcodes to add packages by pressing the Scan button.  You will be redirected to Scan barcode page.  Point your camera steadily at the barcode or QR code and it will be scanned.  The scanned code will be displayed under the title Scanned barcodes.  You can press:

  • Red minus icon to remove this barcode
  • Scan more button to scan more barcodes
  • Finish scanning button to complete scanning

App 184.pngApp 185.png

Press the Scan more button when the device camera is over a new barcode.  If you try to scan the same barcode, you will get an error message.

App 186.png

Once all required barcodes are scanned, press the Finish scanning button to be redirected to Create POD page.  All scanned barcodes will be ticked (selected) as successfully delivered/collected.  If some of them have not been delivered, you can untick (de-select them) and provide a failure reason code.

App 187.png

On Create POD page, you can also press the red minus icon to remove packages.

If the order has pre-defined packages, it is also possible to scan barcodes to verify packages or confirm them by pressing the Scan button.  You will be redirected to Scan barcode page.  Point your camera steadily at the barcode or QR code and it will be scanned.  The scanned code will be displayed under the title Scanned barcodes.  You can press:

  • Red minus icon to remove this barcode
  • Scan more button to scan more barcodes
  • Finish scanning button to complete scanning

If you try to scan the barcode that does not belong to this order, you will get an error message.

App 188.pngApp 189.pngApp 190.pngApp 192.png

Once all barcodes are scanned, press the Finish scanning button to be redirected to Create POD page.  All scanned barcodes will be ticked (selected) as successfully delivered/collected.  If some of them have not been delivered, you can untick (de-select them) and provide a failure reason code.

If you do not scan any of pre-defined packages, you will see a prompt asking if you want to continue scanning as there are not confirmed packages. By pressing the Complete button, you will be redirected back to POD page. Not confirmed/scanned packages will be marked as failed. You need to select a failure reason code for it.

App 194.pngApp 195.pngApp 196.pngApp 197.pngApp 198.pngApp 199.png

Product-level Failures

If the order has pre-defined products, they are displayed on Create POD page, marked as delivered by default (checkboxes are selected).  You can de-select a product to mark that it was not delivered.  You will see a prompt to specify the failure reason code for it and the failed quantity out of the planned total.  The POD status will be automatically changed from Successful to Partially successful and the failure reason code from the product level will be populated to the general POD level.  The failure code for the product will be highlighted in red colour.  You can press it to select another code or change the failed quantity.

You can first select the Partially successful status, a general failure reason code for the POD, and after that, de-select products.  The general failure reason code will be populated to the product level, but you can change it for each product individually.

App 200.pngApp 201.pngApp 203.pngApp 204.pngApp 205.png

If all products have failed, you can either de-select each manually by unticking the checkboxes or by pressing the Deselect all button.  You will see Select failure reason code button on each product to specify the failure reason code.  You can press on it to provide a failure reason code and failed quantities.  You will see two options - Apply for all failed products or Apply for selected product. If Apply for all failed products is selected, the failure reason code will be populated for all products. Full quantities of other products will be automatically failed. If Apply for selected product is selected, the failure reason code will be populated only for the selected product. You can press other product cards and select another failure reason for them and a failed quantity. You will see the same options - Apply for all failed products (those without a reason code yet) or Apply for selected product. The last selected failure reason code will be saved for the general POD level. The POD status will be automatically changed from Successful to Failed and the failure reason code from the product level will be populated to the general POD level.  The failure code for the products will be highlighted in red colour.  You can press it to select another code (for example, to provide an individual code for each product) and the failed quantity.  If not the full quantity of the product fails, the general status will be changed to Partially successful.

You can first select a Failed status and a general failure reason code for the POD.  All products will be de-selected automatically.  The general failure reason code will be populated to the product level, but you can change it for each product individually.

App 206.pngApp 207.pngApp 208.pngApp 209.pngApp 210.png

To mark all unticked (de-selected) products as successful again, press the Select all button - the POD status will be changed to Successful as well.

Package-level Failures with Products

If the order has pre-defined packages with products linked, they will be displayed on Create POD page, marked as delivered by default (checkboxes are selected).  You can de-select a package to mark that it was not delivered.  You will see a prompt to specify the failure reason code for it.  The POD status will be automatically changed from Successful to Partially successful and the failure reason code from the package level will be populated to the general POD level.  The failure code for the package will be highlighted in red colour.  You can press it to select another code.  All products added to the package will be marked as failed with the full quantities failed.

You can first select the Partially successful status, a general failure reason code for the POD, and after that, de-select packages.  The general failure reason code will be populated to the package level, but you can change it for each package individually.

App 211.pngApp 212.pngApp 213.pngApp 214.png

It is possible to press the Products button on a package to mark that only part of the product failed. The product will have a “Partially successful” status and a failure reason code will be highlighted in orange colour. The package status will be also automatically changed to “Partially successful”.

App 215.pngApp 216.pngApp 217.pngApp 218.pngApp 219.png

If all packages with products have failed, you can either de-select each manually by unticking the checkboxes or by pressing the Deselect all button.  You will see the Select failure reason code button on each package and product to specify the failure reason code.  You can press on a package to provide a failure reason code.  You will see two options - Apply for all failed packages or Apply for selected package. If Apply for all failed packages is selected, the failure reason code will be populated for all packages and products linked to them. If Apply for selected package is selected, the failure reason code will be populated only for the selected package and products linked to it.

App 221.pngApp 220.pngApp 222.pngApp 223.pngApp 224.png

You can press other package cards and select another failure reason for them. You will see the same options - Apply for all failed packages (those without a reason code yet) or Apply for selected package. The last selected failure reason code will be saved for the general POD level.

The failure code for the packages and products inside them will be highlighted in red colour.  You can press it to select another code (for example, to provide an individual code for each product) and the failed quantity.  If not the full quantity of the product fails, the general status will be changed to Partially successful.

You can first select a Failed status and a general failure reason code for the POD.  All packages and products will be de-selected automatically.  The general failure reason code will be populated to the package and product level, but you can change it for each product individually.