Agenda
OMD Mobile has a Start of the Day screen and an End of the Day screen, each allowing the specification of the current vehicle mileage. Additional static text can be placed above and below the mileage widget. The static text is specified in the sodText1
and sodText2
preferences (eodText1
and eodText2
respectively).
sodText1 | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
String | Start of Day Text 1 | <html> <body> Check Tire Pressure … </html> | + | + |
sodText2 | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
String | Start of Day Text 2 | <html> <body> I have checked my vehicle… </html> | + | + |
Instead of using static text, templates can be used to make the presented HTML language-dependent or to include App preference values such as the personal name.
A template could look similar to this stylesheet:
<?xml version="1.0" encoding "UTF-8"?>;
<xsl:stylesheet version "1.0" mlns:xsl= "http://www.w3.org/1999/XSL/Transform">;
<xsl:output media-type="text/html"/>;
<xsl:template match="/Data">;
<html>;
<body style="font-family:arial">;
<p>;
<xsl:choose>;
<xsl:when test="language = "de">;
Guten Morgen<xsl:value-of-select="@personalName"/>;!
</xsl:when>;
<xsl:otherwise>;
Good Morning <xsl:value-of select="@personalName"/>;!
</xsl:otherwise>;
</xsl:choose>;
</p>;
</body>;
</html>;
</xsl:template>;
</xsl:stylesheet>;
sodText1Template | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
String | Undefined | See above. | + | - |
sodText2Template | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
String | Undefined | See above. | + | - |
In some scenarios, the mobile worker might want to indiate that the trip started on a previous day. If setting the sodShowsOvernightOption
to true, a checkbox will be visualized in the start of the day screen. When the user checks it, the start of day attachment for that particular day won't be created. By interpreting the startOfTheDay
attachment that was formerly sent, the ERP system can close the entire business trip once the endOfTheDay
attachment has been created.
sodShowsOvernightOption | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
Boolean | false | true | - | + |
It is possible to add a Mobile UI (see Chapter 5) to the Start of the Day screen. Mobile workers can provide additional information about their work before they start their working day. The values entered in the Mobile UI are included in the extra attribute of the startOfTheDay
attachment. The widgets names must not match any of the following reserved names: appName
, build
, version
, device
, model
, manufacturer
, product
, androidRelease
, androidSDK
, which are added automatically to the extra XML document.
sodMobileUI | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
String | undefined | SOD | + | - |
It is possible to add a Mobile UI (see Chapter 5) to the End of the Day screen. Mobile workers can provide additional information about their work before they close the day. The values entered in the Mobile UI are included in the extra attribute of the endOfTheDay
attachment.
eodMobileUI | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
String | undefined | EOD | + | - |
To suppress mileage input during Start of the Day, the flow preference sodAskForMileage
can be set to false
.
sodAskForMileage | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
Boolean | true | false | + | - |
To suppress mileage input during End of the Day, the flow preference eodAskForMileage
can be set to false
.
eodAskForMileage | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
Boolean | true | false | + | - |
The agenda of the mobile worker can be shown in a standard simple layout, or in a more advanced extended layout.
agendaLayout | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
String | normal | extended | + | + |
If the preference agendaLayoutTemplate
is defined, the agenda items can be displayed according to the template content. For example:
The HTML 5-client requires Kendo Hash-Template syntax and supports sophisticated UI templates.
<h3 class="item-name">;#= scheduled.substring(11, 16)>;
<p class="item-info">;# if (name != null){# ${name}#} #</p>;
<div class="status-widget">;
<div class="item-image">;
<img class="item-image" src="#= statusButton(id, subType, closed, remove,
onTheWay)#" />;
<div class="item-title">;
<h2 id="item-title">;# if (externalId != null){# ${externalId}#} #</h2>;
</div>;
</div>;
<div class="item-address">;
<p id="item-address">;#= getAddressForTemplate(street, postalCode, city) #</p>;
</div>;
OMD Mobile for Android supports an XSL-template to create basic HTML formatting.
<?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="/Task">
<html>
<body>
<xsl:value-of select="@externalId" /><br />
<b><xsl:value-of select="@scheduledTimeFromTo" /></b><br />
<xsl:value-of select="@street" /><br />
<xsl:value-of select="@postalCode" /><xsl:text> </xsl:text><xsl:value-of select="@city" />
</body>
</html>
</xsl:template>
</xsl:stylesheet>
The XML source-data in OMD Mobile for Android consists of the following structure:
<Task
scheduled="26.01.21 09:08" scheduledTime="09:08"
scheduledTimeTo="17:08" scheduledTimeFromTo="09:08 - 17:08"
name="Example Corporation" city="Example City"
street="Example Street 9-11" id="105899321"
externalId="Z-0000123-1" taskGroupId="Z-0000123"
geocode="0_0_9212345_48012345 1" remarks="Important note: take care!"
positionInTrip="1"
openingHoursMon="" openingHoursTue="" openingHoursWed=""
openingHoursThu="" openingHoursFri="" openingHoursSat=""
openingHoursSun=""
department="" accountNumber="9876-123"
phone="0211/12345678" estimatedDuration="480.0"
processFlow="" debtorNumber=""
locale="" earliest="12.01.21 10:46"
status="123456789" latest="12.01.21 10:46"
skill="" mobileState="planned"
assignedDateTime="" fixed=""
fixedTime="" actualDateTime=""
actualDuration="0.0" postalCode="40123"
country="Germany" email=""
taskType="" lastUpdate="26.01.21 10:03"
extra="<Data info1="abcd"><MoreData info2="1234"/></Data>"
configuration="132456789" contractType="STD">
<Data info1="abcd">
<MoreData info2="1234" />
</Data>
</Task>
If the extra field of the task holds a valid XML element, this element is embedded in the <Task>
element. See the <Data>
sub-element in the above example. Formattting of date and time data varies according to the system settings on the mobile device.
The first line of the Android layout is static and contains the usual combination of accountNumber
and name
, along with the status
-related icons.
In case both OMD Mobile client types operate in the same configuration, the alternative flow preference agendaLayoutXslTemplate
can be used to define the template for Android, while agendaLayoutTemplate
defines the template for the HTML 5 client.
agendaLayoutTemplate | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
String | Undefined | See above | + | + |
The height of the remarks-line
of every task in the agenda can be modified by setting the preference agendaRemarksHeight
to the desired maximum number of lines.
agendaRemarksHeight | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
Integer | 1 | 2 | + | - |
Whenever opening a task, the remarks of the task will be shown in a pop-up, also called toast
. The duration of the toast can be short or long.
remarksToast | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
String | short | long | + | + |
One may choose to show the mobile worker the sequence number of the visit.
agendaShowPositionInTrip | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
Boolean | false | true | + | - |
One may choose to show the GPS location of customers on the task's detail screen. The locations are displayed in degrees, minutes and seconds. The location will also be shown in the task's detail screen, if the preference is set.
agendaShowGeocode | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
Boolean | false | true | + | - |
Internally, locations are stored in the geocode field. Geocodes hold information about the geographical location of an address. All geocodes contain at least the latitude and longitude information.
Additionally, a match level is stored along with the geocode. This is both the case for on-the-fly geocoded addresses as with addresses that have been geocoded with the Geocoder upfront, or with addresses that have been uploaded from an external system, in which the geocode for the address is available.
Value | Match Level |
---|---|
0 | Unknown |
1 | House number |
2 | Street |
3 | Postal code or city |
4 | Manually geocoded |
5 | No geocode |
The format of a geocode string is x_y_long_lat
match, where x and y are the coordinates of the internal map projection and long/lat are the longitude/latitude values multiplied with 1 000 000, converting the values to decimals, and match is the match level value.
Example
0_0_-6285552_53319389 4
, corresponding to 53.319389, -6.285552 (WGS 84) or 53⁰ 19'; 9'; N, 6⁰ 17'; 7" W.
http://www.cpearson.com/Excel/LatLong.aspx contains some very useful information and formulas on lat/long conversions.
Overnight stays can be visualized in the agenda by setting the following preference to true
. Note that this preference requires the server-side preference mobileDataIncludesWorkPattern
to be true
.
showDeviatingRWP | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
Boolean | false | true | - | + |
To show the week number as a separator in the Next tab of the agenda, set the following flow preference to a preferred background color.
colorSeparatorBar | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
Color | null | #449955 | - | + |
To show or hide the optimize Button in the Header set the following preference.
mobileHeaderShowOptimize | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
Boolean | false | true | - | + |
To show or hide the Button to create an overnight stay on the mobile device.
mobileHeaderShowOvernight | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
Boolean | false | true | - | + |
To show or hide the planning icon.
mobileHeaderShowPlanning | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
Boolean | false | true | - | + |
To show or hide the Map Button in the Header that shows all unplanned tasks on the map.
mobileHeaderShowMap | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
Boolean | false | true | - | + |