1 Introduction

This example is based on the delivery department of a company based in Spain that produces handmade donuts. The company has a fleet of vans to perform product delivery to stores. Currently, the company has little control or oversight over deliveries, and some packages are lost. They have also realized that the vans' routes could be optimized.

The company would like to be able to monitor all routes followed by the van fleet, as well as the packages they carry.

An app will be created to help the donut company perform follow-up on their distributors and packages.

 

2 App Configuration

To begin creating the app, the parameters below must first be defined.

 

2.1 Users

App users, in this case van drivers (distributors), will have to be loaded in the app. The administrative manager must first register users on the server with all necessary permissions.

Next, they must be registered on the app. The form below is filled in with all user information required for application use.



 

2.2 Customers

The customers to whom the company will deliver must also be registered in the app. The form below is filled in with all required customer information.



 

2.3 Tasks

This form is created to confirm that the distributor does not miss any step in the delivery process.

First step: set all task values. Five attribute options can be created automatically (auto-sync, map, phone, SMS and email) in the checkboxes at the top-right of the form.



Second step: set the names of the groups used to classify questions, as well as their conditions if needed.

This example includes the condition for the group of questions 'INFORMATION', 'INCIDENTS', and 'DOCUMENTATION'.

Explanation of conditions:

  • 'INFORMATION': This condition checks how many packages have been delivered and if they are equal to the package total. It also checks if the number of packages delivered is not equal to '0'. If true, the group will be displayed.

  • 'INCIDENTS': This condition checks if the checkbox from 'Q9' is not true (checked). If so, the group will be displayed.

  • 'DOCUMENTATION': This condition checks how many packages have been delivered. If the number is equal to '0', the group will be displayed.

Three useful conditions when creating a delivery task are listed below:


Copy
- All packages delivered: '#EANS_READ' == '#EANS_TOTAL' && '#EANS_READ'  != '0' --> This condition checks how many packages have been delivered and if they are 
                                                                                    equal to the package total. It also checks if the number of packages delivered is not equal to '0'. 
 
- Packages partially delivered: '#EANS_READ' < '#EANS_TOTAL' && '#EANS_READ' != '0' --> This condition checks how many packages have been delivered and if they are 
                                                                                        not equal to the package total. It also check if the number of packages delivered is not equal to '0'. 
 
- No packages delivered: '#EANS_READ' == '0' --> This condition checks how many packages have been delivered, and if the number is equal to '0'.


Third step: set the questions you would like to ask the user, assigned to one of the previously-defined groups. Define the question type, if responding is obligatory, and an activation condition (a condition that, if true, enables question display; not needed in this example).

To set a combo-box for a response, see the fourth step.



Fourth step: for users to choose between a set of multiple answers, a combo must be created. See images below:

Create combo:


Set different answer options for the combo:


 

2.4 Assignments

Once the task has been configured, it must be AUDITED; otherwise, it cannot be assigned.

After auditing, tasks can be assigned. The assignment form should then be filled out, indicating the assigned user, task, customer, and more details if needed.

Subsequently, when all assignment parameters have been set, the assignment should be CONFIRMED (button on the bottom-left side). The user can then perform the indicated actions.



 

2.4.1 Attributes

Attributes provide the ability to add extra information at the beginning of the assignment, in order to help users execute it.

In this case, attributes have been created automatically, as they were selected when creating the task. However, they can be set manually according to their particular structure, as explained in the Data Model documentation.

A group should be assigned to each attribute for classification.



 

2.4.2 Packages

To add a package to assignments, the following form must be filled in. It configures the corresponding group, EAN (package code), package description, and size/weight.





 

3 Interface

The following video shows how to interact with the interface.



 

4 Admin Interface

 

4.1 Reports

 

4.1.1 User Assignment Details


This form permits user monitoring. It offers the ability to check the status and location of the assigned tasks.



 

4.1.2 User Geopositioning



This form shows the route the user has choosen to execute their assignments, as well as their speed.

In this example, the route cannot be viewed because the device has not registered any movement.



 

4.1.3 Detailed Device Information


Menu Path:

Mobile / Tasks / Reports / User / Devices control --> User code hyperlink


The administrator is able to follow up on all device status and usage information.

internal-xsqlscript-embedded (apps_sys_user_device_detailed)
Label Description

 

5 Print Task Responses

Menu Path:

Mobile / Tasks / Reports / Print / Task's responses

Or

Mobile / Tasks / Assigns --> Tab: Print Responses (Only activated when task status is ENDED or REVISED)


This form allows users to print responses to the assigned tasks.