Signatures

A customer or mobile worker signature may be required for all or specific tasks. Use the showSignatureIcon preference to specify if the signature icon is shown to the mobile worker.

showSignatureIcon
Type Default Value Example Android HTML 5
Boolean true false + +

Signature images may require specific sizes. In that case, use the signatureImageHeight and signatureImageWidth preferences to specify the required size.

signatureImageHeight
Type Default Value Example Android HTML 5
Pixel Undefined 140 + -
signatureImageWidth
Type Default Value Example Android HTML 5
Pixel Undefined 80 + -

Equivalent to the image's compress quality, the signature compress quality can also be specified with the compressQualityImage preference as defined above.

Depending on the task's characteristics, the customer may be required to sign the task. The requiresCustomerSignature preference can be used to identify this requirement.

requiresCustomerSignature
Type Default Value Example Android HTML 5
Boolean false true + +

Suppose the customer has to sign the service, but is not present. In that case, the mobile worker needs to confirm with his own signature. Normally, the mobile worker will have to enter a note explaining the situation. To deviate from this default behavior, one can change the preference avoidNoteWhenSignedByMobileWorker to true. In that case, the mobile worker will not be asked to enter a note.

avoidNoteWhenSignedByMobileWorker
Type Default Value Example Android HTML 5
Boolean false true + -

To avoid the possibility to enter the mobile worker's signature in case the customer is not present, set the preference avoidNoCustomerPresentButton to true.

avoidNoCustomerPresentButton
Type Default Value Example Android HTML 5
Boolean false true + -

When a customer signature is required, but the driver decides to give his own signature on behalf of the customer, the driver can be asked for a reason why the customer didn't sign himself. The set of possible reasons, the driver can choose from, must bedefined in an Option Widget under the special MobileUI -OMD-. The name of this Option Widget must be referred to by the flow preference mobileWorkerSignatureReasons. The prompt of the Widget will be used as label for the No Customer Present button.

mobileWorkerSignatureReasons
Type Default Value Example Android HTML 5
String -none- MobileWorkerSignatureReasons + -

In certain configurations, it is desirable that a customer can confirm the presence of the mobile worker with a signature before the mobile worker has completed all planned items.

If the preference allowPrematureSignature is turned on, a checkbox will appear in the signature screen to inform the customer about possible changes to the quantities after signature. The customer will not be able to continue the signature screen if the customer does not confirm the checkbox's text by checking it. Once checked, the mobile worker can continue to edit the items planned after having received the signature, which is normally not allowed when the preference is not set.

allowPrematureSignature
Type Default Value Example Android HTML 5
Boolean false true + +

The text used for the checkbox is retrieved from a widget called prematureSignaturePrompt under the internal -OMD- Mobile UI. If needed, this widget can be translated into several languages by using the translation table of the widget. The presented prompt will then depend on the language settings of the mobile device.

Example for a prematureSignaturePrompt:

For approval of execution. Quantities are indicative and may change depending on the ultimate work performed.

If a customer signature is not possible the mobile worker may choose to sign the task himself. To avoid overwriting the personal name in the top of the signature screen, the preference signatureAvoidEditResourceName can be set to true. The personal name is always editable through the Settings dialog, regardless of the value of this preference.

signatureAvoidEditResourceName
Type Default Value Example Android HTML 5
Boolean false true + -

The mobile app can be configured to ask for the customer's signature first and then for the resource's signature as well. The process flow preference collectCustomerResourceSignature enables this behavior. This option can only be used alternatively to requiresCustomerSignature.

collectCustomerResourceSignature
Type Default Value Example Android HTML 5
Boolean false true + +

If the preference allowCustomerResourceSignature is set to true, the mobile worker needs to sign after the customer has signed.

allowCustomerResourceSignature
Type Default Value Example Android HTML 5
Boolean false true + +

As an alternative for acquiring a customer's signature, a barcode can be scanned at the customer's location. For activation and barcode validation, the task must provide a reference code with the string representation of the barcode to be scanned. See below for an example of a suitable XML to put in the task's extra field:

<Data signatureRefBarcode="123456789" newRefBarcodeRequired="false" signatureBarcodeLocation="On the right, next to the main entrance"/>

To enable entering of a new code and a location description, at the customer's site, an arbitrary reference code can be provided and the flag for allowing a new code must be set to true :

<Data signatureRefBarcode="000000000" newRefBarcodeRequired="true" signatureBarcodeLocation="Please fill in location after applying barcode sticker!"/>

The modified location text and the actually scanned code is sent to the ERP when closing the task. See the OMD Attachments documentation for more details!

The preference signatureBarcodeReferenceQuery defines an XPath query to retrieve the string value of a reference barcode, from the task's extra field.

signatureBarcodeReferenceQuery
Type Default Value Example Android HTML 5
String string(//Data/@signatureRefBarcode[1]) - + -

The preference signatureBarcodeLocationQuery defines an XPath query to retrieve the string value of the location descrition, where to find the barcode to be scanned.

signatureBarcodeLocationQuery
Type Default Value Example Android HTML 5
String string(//Data/@signatureBarcodeLocation[1]) - + -

The preference signatureBarcodeNewCodeQuery defines an XPath query to retrieve the string representation of the flag, deciding, whether an unknown barcode may be scanned. If set to false, the scanned barcode must match the provided reference code.

signatureBarcodeNewCodeQuery
Type Default Value Example Android HTML 5
String string(//Data/@newRefBarcodeRequired[1]) false + +

The preference showSignByMail shows an additonal icon "Sign by Mail" in the Acceptance Screen of OMD Mobile for Android. It allows the user to send a mail to the customers mail address where the customer can confirm the delivered goods or services by mail instead of taking the signature onSite. With templates called signByMailTemplate and signByMailSubjectTemplate the content of E-Mail and Subject can be defined. When the Mail was confirmed by the customer, the signature attachment will be added to that task afterwards. A signByMail Attachment indicates that this task was not signed onSite.

showSignByMail
Type Default Value Example Android HTML 5
boolean false false + -

Example for a signByMailTemplate:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output media-type="text/html" />
    <xsl:template match="/Data">
        <html>
            <style type="text/css">
                .body { color:#FFF;background-color:#000; }
                .red_header { color:#F00;padding-top:15px; }
            .table1 { color:#000;background-color:#FFF;border-collapse:collapse;padding-bottom:5px; }
            .table1 th { padding:5px;border-left:solid #000;font-weight: normal; }
            .table1 td { padding:5px;border-left:solid #000;background-color:#CCC; }
            </style>

            <body>
<p>Dear customer,</p>
<br/>
Please confirm our delivered services (in the servicesheet atatched):<br/>
<br/>
<div id="confirm-wrapper" style="margin-bottom:30px;">
        <a id='confirm-section' class="confirm-link" status='IP-C' width="100%" href="https://qa.optimizemyday.com/omdservices/rs/v1/customer/signByMail/confirm?configId={{configurationId}}&amp;taskId={{taskId}}&amp;attachmentId={{attachmentId}}&amp;authentication={{authToken}}" style="display:inline-block;text-align:center;vertical-align:top;line-height:40px;width:100%;border-radius: 7px;color:#ffffff;font-size:20px;font-weight:bold;background-color:#1d9c03;cursor:pointer;">CONFIRM</a>        
</div>
<br/>
<p>Best regards</p>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>

results matching ""

    No results matching ""