<?xml version="1.0" encoding="utf-8"?>
<Templates xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://gpsgate.com/xml/">
  <Template type="ApplicationEntity">
    <Object>
      <TemplateGuid>a8ebf469-f304-4ef5-8889-ec25d4ee52c4</TemplateGuid>
      <TemplateVersion>1</TemplateVersion>
      <ObjectType>GpsGate.Online.Event.EventExpressionEvaluatorWriter</ObjectType>
      <ObjectData>
        <Name>Script Expression - distance between POIs</Name>
        <Description></Description>
        <EvaluationOperator>AND</EvaluationOperator>
        <EndEvaluationOperator>AND</EndEvaluationOperator>
        <SupportUI>false</SupportUI>
        <AutoClose>true</AutoClose>
        <Disabled>true</Disabled>
        <FinishOnPreCondition>true</FinishOnPreCondition>
        <UserMatchMethod>Tags</UserMatchMethod>
        <Expressions>
          <ExpressionRef>51e52c8e-45a6-4b58-babb-c3395660328e</ExpressionRef>
        </Expressions>
        <Notifiers>
          <NotifierRef>d2c8d6b9-7e57-4c23-ba10-4af022ac4c58</NotifierRef>
          <NotifierRef>4b1fa23b-2542-4322-b802-2fafd4435634</NotifierRef>
        </Notifiers>
        <PostConditions>
          <PostConditionRef>f4749316-ff93-461e-a05f-e7bdbd99c156</PostConditionRef>
        </PostConditions>
        <PreConditions>
          <PreConditionRef>7ce73e29-3ffb-44aa-9131-bd9f970a7850</PreConditionRef>
        </PreConditions>
        <TagIDs />
      </ObjectData>
    </Object>
    <Object>
      <TemplateGuid>51e52c8e-45a6-4b58-babb-c3395660328e</TemplateGuid>
      <TemplateVersion>1</TemplateVersion>
      <ObjectType>GpsGate.Online.Event.ScriptExpression</ObjectType>
      <ObjectData>
        <IsEndExpression>false</IsEndExpression>
        <IsOneShot>false</IsOneShot>
        <Script>// Replace 'My POI Category' with the name of the POI category where you have your customer sites.
var pois = poi.find(trackPoint.position.longitude, trackPoint.position.latitude, 500, 'My POI Category')
var arrived = false;

if(pois.length &gt; 0)
{
  context.setVariable('ClientName', pois[0].name);
  // Arrived at customer. Set distance.
  context.setVariable('Distance', report.context.distance);
  arrived = true;
}
else
{
  context.setVariable('ClientName', '-');
}

// Reset distance if we just left customer site.

var last = context.state;
if(last != null &amp;&amp; last.arrived == true &amp;&amp; arrived == false)
  // We just left the customer, set distance to zero
  report.context.setDistance(0);

// Remeber if we were at customer for next messgae.
context.setState({arrived:arrived});
  
return arrived;</Script>
      </ObjectData>
    </Object>
    <Object>
      <TemplateGuid>d2c8d6b9-7e57-4c23-ba10-4af022ac4c58</TemplateGuid>
      <TemplateVersion>1</TemplateVersion>
      <ObjectType>GpsGate.Reporting.v3.Notification.ReportArgumentNotifier</ObjectType>
      <ObjectData>
        <Name>Report Argument</Name>
        <NotifierGroup>default</NotifierGroup>
        <Mode>Start</Mode>
        <ArgumentName>POI</ArgumentName>
        <Template>[ClientName]</Template>
      </ObjectData>
    </Object>
    <Object>
      <TemplateGuid>4b1fa23b-2542-4322-b802-2fafd4435634</TemplateGuid>
      <TemplateVersion>1</TemplateVersion>
      <ObjectType>GpsGate.Reporting.v3.Notification.ReportArgumentNotifier</ObjectType>
      <ObjectData>
        <Name>Report Argument</Name>
        <NotifierGroup>default</NotifierGroup>
        <Mode>Start</Mode>
        <ArgumentName>Distance</ArgumentName>
        <Template>[Distance]</Template>
      </ObjectData>
    </Object>
    <Object>
      <TemplateGuid>f4749316-ff93-461e-a05f-e7bdbd99c156</TemplateGuid>
      <TemplateVersion>1</TemplateVersion>
      <ObjectType>GpsGate.Online.Event.EventDurationEvaluatorPostCondition</ObjectType>
      <ObjectData>
        <Name>Event duration evaluator post condition</Name>
        <RelationalOperator>GREATER_OR_EQUAL</RelationalOperator>
        <EventDuration>0</EventDuration>
        <AutoTrigger>false</AutoTrigger>
      </ObjectData>
    </Object>
    <Object>
      <TemplateGuid>7ce73e29-3ffb-44aa-9131-bd9f970a7850</TemplateGuid>
      <TemplateVersion>1</TemplateVersion>
      <ObjectType>GpsGate.Online.Event.DayOfWeekPeriodEvaluatorPreCondition</ObjectType>
      <ObjectData>
        <Name>Day of week evaluator pre condition</Name>
        <Periods>
          <Period>
            <StartTimeOfDay>0</StartTimeOfDay>
            <StopTimeOfDay>863999990000</StopTimeOfDay>
            <DayOfWeek>All</DayOfWeek>
            <EvaluationMethod>Inside</EvaluationMethod>
          </Period>
        </Periods>
      </ObjectData>
    </Object>
  </Template>
</Templates>