FS 313959 Vehicle Checks Auto-Export

From Calidus HUB
Revision as of 19:36, 9 December 2013 by Lm (talk | contribs) (Edits and updates by LM)





Aptean Logo.png







BIU Group

Vehicle Checks Auto-Export


CALIDUS ePOD

4th December 2013 - 0.1
Reference: FS 313959 312018-7












































Functional Overview

Client Requirement

The client wants to perform a vehicle check at the start of a load and record any defects when a load is finished. Some of the information on the load will have to come from load metrics.

There are two examples of a daily vehicle check configured at vehicle level. Please see forms (Trip Sheet) and Loader Crane in the requirements document (referenced in Appendix B).


Solution Overview

Currently, the system does not export Vehicle Check information. It is expected that the export processes, both automatic and requested through a web service, will need to be modified to allow this. All completed vehicle checks would be exported to the destination specified in the EPOD export configuration, which can be set up for the entire system or for particular Job Groups only.

The method of communication for automatic export of Vehicle Checks information has not been finalised at this time. It is expected that the export will be to a web-service within the host system, accepting the OBS Calidus EPOD XML format, through a POST or SOAP mechanism.

The supported vehicle checks will be:

  • Automatically exported
  • POST and SOAP export as String or XML object:
    • EPOD_XML_EXPORT_VEHICLECHECKS - All pending checks

It is not envisaged that specific vehicle checks could be requested from EPOD on a per check basis - rather all vehicle checks recorded against a job will be exported. In order for specific vehicle checks to be read, the host system should parse the message returned in order to find the vehicle check required.


Scope

  • These changes will be made in the latest version of the CALIDUS ePOD product only.

Set-up

  • A set of Vehicle checks must be set up in EPOD against Site Level.
  • An export configuration must be set up in EPOD to export the Vehicle Checks.

Pre-requisites

Menu Structure

Data

The configuration for automatic export of Vehicle Checks information has not at this time been finalised. It is expected that this will be to a web-service within the host system, accepting the OBS Calidus EPOD XML format, through a POST or SOAP mechanism. The configuration for this on EPOD_XF_CONFIG would be as follows:

  • EPL_XF_CONFIG_ID - As assigned to the Site or Job Group
  • EPL_DESCRIPTION - As required
  • EPL_XF_TYPE = "POST|SOAP" (TBC)
  • EPL_XF_DESTINATION = External Web-service URL (TBC)
  • EPL_XF_ID = "VEHICLECHECKS"
  • EPL_WEB_PARAMETER = External Web-service Parameter, if required (TBC)
  • EPL_WEB_USER = External Web-service User-name, if required (TBC)
  • EPL_WEB_PASSWORD = External Web-service Password, if required (TBC)
  • EPL_SOAP_ACTION = External Web-service Action, if SOAP (TBC)
  • EPL_SOAP_NS = External Web-service Namespace, if SOAP (TBC)
  • EPL_SOAP_NS_PREFIX = External Web-service Namespace Prefix, if SOAP (TBC)
  • EPL_XF_DIRECTION = "O"


The expected Vehicle Check configuration set-up in EPOD_SITE is as follows:

<VEHICLE_CHECK FREQ="1">
   <QUESTION ID="0001">
       <TEXT>Driver Daily Checks</TEXT>
       <FORMAT>X</FORMAT>
       <SKIPABLE>N</SKIPABLE>
       <ITEMS>
           <ITEM>Lamps/Indicators/Stop Lamps</ITEM>
           <ITEM>Reflectors/Markers/Warning Devices</ITEM>
           <ITEM>Battery security/condition</ITEM>
           <ITEM>Mirrors security/condition</ITEM>
           <ITEM>Brakes - pressure - operation - leaks</ITEM>
           <ITEM>Brakes/Warning Devices/Instruments</ITEM>
           <ITEM>Steering-wear-operation</ITEM>
           <ITEM>Tyres-inflation-damage-wear</ITEM>
           <ITEM>Wheels-condition-security</ITEM>
           <ITEM>Body/guards/wings/damage</ITEM>
           <ITEM>Body/load security - protection</ITEM>
           <ITEM>Spray suppression -damage</ITEM>
           <ITEM>Number plates - security - illumination</ITEM>
           <ITEM>Horn/wipers/washers-operation-condition</ITEM>
           <ITEM>Engine Oil/water/fuel-levels-leaks</ITEM>
           <ITEM>Exhaust-condition-smoke emission</ITEM>
           <ITEM>Tachograph/speedometer-operation</ITEM>
       </ITEMS>
   </QUESTION>
   <QUESTION ID="0021">
       <TEXT>Loader Type</TEXT>
       <FORMAT>T</FORMAT>
       <SKIPABLE>Y</SKIPABLE>
   </QUESTION>
   <QUESTION ID="0022">
       <TEXT>In Cab</TEXT>
       <FORMAT>X</FORMAT>
       <SKIPABLE>Y</SKIPABLE>
       <ITEMS>
           <ITEM>PTO Cab Switch Operation</ITEM>
           <ITEM>Handbrake Interlock (if fitted)</ITEM>
           <ITEM>Height Warning Signs</ITEM>
           <ITEM>Report of Thorough Examination</ITEM>
           <ITEM>Training Certificate Card</ITEM>
           <ITEM>Operator's Manual</ITEM>
       </ITEMS>
   </QUESTION>
   <QUESTION ID="0023">
       <TEXT>Hydraulic Fluid</TEXT>
       <FORMAT>X</FORMAT>
       <SKIPABLE>Y</SKIPABLE>
       <ITEMS>
           <ITEM>Hydraulic Oil Level</ITEM>
           <ITEM>Condition of Oil (Visual/Colour)</ITEM>
           <ITEM>Hydraulic Oil leaks</ITEM>
       </ITEMS>
   </QUESTION>
   <QUESTION ID="0024">
       <TEXT>Attachments</TEXT>
       <FORMAT>X</FORMAT>
       <SKIPABLE>Y</SKIPABLE>
       <ITEMS>
           <ITEM>Operation of Attachments, if fitted</ITEM>
           <ITEM>Condition of attachment</ITEM>
           <ITEM>Stowing of attachment to vehicle</ITEM>
           <ITEM>Hydraulic Leaks</ITEM>
       </ITEMS>
   </QUESTION>
   <QUESTION ID="0025">
       <TEXT>Lifting Accessories</TEXT>
       <FORMAT>X</FORMAT>
       <SKIPABLE>Y</SKIPABLE>
       <ITEMS>
           <ITEM>Correct Lifting Accessories</ITEM>
           <ITEM>Condition of Lifting Accessories</ITEM>
           <ITEM>Report of Thorough Examination</ITEM>
       </ITEMS>
   </QUESTION>
   <QUESTION ID="0026">
       <TEXT>Stabilisers</TEXT>
       <FORMAT>X</FORMAT>
       <SKIPABLE>Y</SKIPABLE>
       <ITEMS>
           <ITEM>Stabiliser beam cam-locks</ITEM>
           <ITEM>Stabiliser beam secondary locks</ITEM>
           <ITEM>Swing up stabiliser blocks</ITEM>
           <ITEM>Stabiliser hoses and pipework</ITEM>
       </ITEMS>
   </QUESTION>
   <QUESTION ID="0027">
       <TEXT>Loader</TEXT>
       <FORMAT>X</FORMAT>
       <SKIPABLE>Y</SKIPABLE>
       <ITEMS>
           <ITEM>Loader operation</ITEM>
           <ITEM>Operation of control levers remotes</ITEM>
           <ITEM>Operation of rated capacity indicator</ITEM>
           <ITEM>Operation of emergency stop switches</ITEM>
           <ITEM>Operation of height warning device</ITEM>
           <ITEM>Additional safety systems</ITEM>
           <ITEM>Condition of hoses and pipework</ITEM>
           <ITEM>Condition of hook and safety catch</ITEM>
           <ITEM>Loader stowing device transport position</ITEM>
           <ITEM>Attachment of loader to vehicle</ITEM>
       </ITEMS>
   </QUESTION>
   <QUESTION ID="0028">
       <TEXT>Is the Loader Crane safe to use?</TEXT>
       <FORMAT>B</FORMAT>
       <SKIPABLE>Y</SKIPABLE>
   </QUESTION>
   <QUESTION ID="0029">
       <TEXT>Remarks</TEXT>
       <FORMAT>T</FORMAT>
       <SKIPABLE>Y</SKIPABLE>
   </QUESTION>
</VEHICLE_CHECK>

Functional Description

Database and DAL

The existing EPOD_VEHICLE_CHECK table will be modified to add a new field as follows:

  • EPL_XFER_FLAG - nvarchar(1)

Existing packages will be modified to allow the creating, editing and selecting of the new field, including but not limited to:

  • EPOD_VEHICLE_CHECK_INSERT
  • EPOD_VEHICLE_CHECK_SEARCH
  • EPOD_VEHICLE_CHECK_SELECT
  • EPOD_VEHICLE_CHECK_UPDATE

The existing EPOD_VEHICLE_CHECK DAL object will be changed to:

  • Read the new field
  • Search by this field
  • Write to the field when created
  • Update the field when vehicle checks sent


Admin

The existing Auto Export Configuration screen XF_Config.aspx will be modified to add a new Type "VEHICLECHECKS", used when adding, editing or displaying configuration details on the screen.


Server

Warning Warning: ePOD_dataservice.asmx/ePOD_dataservice2.asmx

  • POST and SOAP export from String (through ePOD_dataservice.asmx) or XML object (through ePOD_dataservice2.asmx):
    • EPOD_XML_EXPORT_VEHICLECHECKS - All pending checks



Each method will require a request in XML format to be specified through a POST or HTTP request. For example, for a service EPOD_XML_EXPORT_VEHICLECHECKS:

POST /epod_test/webservices/dataservice/ePOD_dataservice.asmx HTTP/1.1
Host: www.calidus-web.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "ePOD_DataService/EPOD_XML_EXPORT_VEHICLECHECKS"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <EPOD_XML_EXPORT_VEHICLECHECKS xmlns="ePOD_DataService">
      <EXPORT>string</EXPORT>
    </EPOD_XML_EXPORT_VEHICLECHECKS>
  </soap:Body>
</soap:Envelope>

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <EPOD_XML_EXPORT_VEHICLECHECKSResponse xmlns="ePOD_DataService">
      <EPOD_XML_EXPORT_VEHICLECHECKSResult>string</EPOD_XML_EXPORT_VEHICLECHECKSResult>
    </EPOD_XML_EXPORT_VEHICLECHECKSResponse>
  </soap:Body>
</soap:Envelope>

The EPOD_XML_EXPORT_VEHICLECHECKS request should be in the following format:

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="EPOD_EXPORT_VEHICLECHECKS">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute type="xs:string" name="EPL_SITE_ID"/>
          <xs:attribute type="xs:string" name="EPL_USER_ID"/>
          <xs:attribute type="xs:string" name="EPL_USER_PASSWORD"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
</xs:schema>

Note Note: The request requires the following attributes:

  • EPL_USER_ID - the user provided to you for requests
  • EPL_USER_PASSWORD - the password provided to you for requests
  • EPL_SITE_ID - the Site provided to you for requests. This will also filter the responses to this site only.

Example:

 <EPOD_EXPORT_VEHICLECHECKS EPL_SITE_ID="DEMO" EPL_USER_ID="ADM" EPL_USER_PASSWORD="TEST" />

The web-service will:

  • Retrieve all EPOD_VEHICLE_CHECK records matching that have EPL_XFER_FLAG = "N".
  • Build XML response and reply
  • Await response
  • Set the field EPL_XFER_FLAG = "Y" for all the processed records when an acknowledgement response is received.


The payload XML should be created in the following format:

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="EPOD_EXPORT_VEHICLECHECKS_RESPONSE">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="EPOD_VEHICLE_CHECKS" minOccurs="0" maxOccurs="1" nillable="true">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="EPOD_VEHICLE_CHECK" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element type="xs:string" name="EPL_SITE_ID"/>
                    <xs:element type="xs:string" name="EPL_VEHICLE_ID"/>
                    <xs:element type="xs:int" name="EPL_VEHICLE_CHECK_DATE"/>
                    <xs:element type="xs:int" name="EPL_VEHICLE_CHECK_TIME"/>
                    <xs:element type="xs:string" name="EPL_USER_ID"/>
                    <xs:element name="EPL_VEHICLE_CHECK_DATA">
                      <xs:complexType>
                        <xs:sequence>
                            <xs:element name="VEHICLE_CHECK">
                              <xs:complexType>
                                <xs:sequence>
                                  <xs:element minOccurs="0" maxOccurs="unbounded" name="QUESTION">
                                    <xs:complexType>
                                      <xs:sequence>
                                        <xs:element name="TEXT" type="xs:string" nillable="true"/>
                                        <xs:element name="FORMAT" nillable="false">
                                          <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                              <xs:enumeration value="X"/>
                                              <xs:enumeration value="N"/>
                                              <xs:enumeration value="T"/>
                                              <xs:enumeration value="B"/>
                                              <xs:enumeration value="DDL"/>
                                            </xs:restriction>
                                          </xs:simpleType>
                                        </xs:element>
                                        <xs:element name="SKIPABLE" nillable="false">
                                          <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                              <xs:enumeration value="Y"/>
                                              <xs:enumeration value="N"/>
                                            </xs:restriction>
                                          </xs:simpleType>
                                        </xs:element>
                                        <xs:element minOccurs="0" nillable="true" name="ANSWER" type="xs:string" />
                                      <xs:element name="ITEMS" minOccurs="0">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="ITEM" maxOccurs="unbounded" minOccurs="0">
                                              <xs:complexType>
                                                <xs:simpleContent>
                                                  <xs:extension base="xs:string">
                                                    <xs:attribute type="xs:string" name="ANSWER" use="optional"/>
                                                  </xs:extension>
                                                </xs:simpleContent>
                                              </xs:complexType>
                                            </xs:element>
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                      <xs:attribute name="ID">
                                        <xs:simpleType>
                                          <xs:restriction base="xs:string">
                                            <xs:maxLength value="10" />
                                          </xs:restriction>
                                        </xs:simpleType>
                                      </xs:attribute>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute type="xs:string" name="RESULT"/>
    </xs:complexType>
  </xs:element>
</xs:schema>

Example of a valid file:

<EPOD_EXPORT_VEHICLECHECKS_RESPONSE RESULT="ACK">
  <EPOD_VEHICLE_CHECKS>
    <EPOD_VEHICLE_CHECK>
      <EPL_SITE_ID>DEMO</EPL_SITE_ID>
      <EPL_VEHICLE_ID>VEH1</EPL_VEHICLE_ID>
      <EPL_VEHICLE_CHECK_DATE>20130101</EPL_VEHICLE_CHECK_DATE>
      <EPL_VEHICLE_CHECK_TIME>09000000</EPL_VEHICLE_CHECK_TIME>
      <EPL_USER_ID>USER1</EPL_USER_ID>
      <EPL_VEHICLE_CHECK_DATA>
        <VEHICLE_CHECK>
          <QUESTION ID="0001">
            <TEXT>Please enter the current mileage of the vehicle.</TEXT>
            <FORMAT>N</FORMAT>
            <SKIPABLE>N</SKIPABLE>
            <ANSWER>5</ANSWER>
          </QUESTION>
          <QUESTION ID="002">
            <TEXT>Please check the following items:</TEXT>
            <FORMAT>X</FORMAT>
            <SKIPABLE>N</SKIPABLE>
            <ITEMS>
              <ITEM ANSWER="Y">Oil Level</ITEM>
              <ITEM ANSWER="Y">Tyres</ITEM>
              <ITEM ANSWER="Y">Brakes</ITEM>
              <ITEM ANSWER="Y">Water</ITEM>
              <ITEM ANSWER="Y">Lights</ITEM>
            </ITEMS>
          </QUESTION>
        </VEHICLE_CHECK>
      </EPL_VEHICLE_CHECK_DATA>
    </EPOD_VEHICLE_CHECK>
  </EPOD_VEHICLE_CHECKS>
</EPOD_EXPORT_VEHICLECHECKS_RESPONSE>

Note Note: The content of EPL_VEHICLE_CHECK_DATA should not include any of the VEHICLE_CHECK_RESPONSE tag or attribute contents OTHER THAN the VEHICLE_CHECK tag.

Note Note: A valid response is indicated by the RESULT attribute being set to "ACK". If the request received above generates any errors, the errors should be returned in the ERRORS tag, with the RESULT attribute being set to "NAK" instead.


Example of an error response:

<EPOD_EXPORT_VEHICLECHECKS_RESPONSE RESULT="NAK">
    <ERRORS>
        <ERROR error="description" exception="Full error description"/>
    </ERRORS>
</EPOD_EXPORT_VEHICLECHECKS_RESPONSE>

Auto-Export

  • Automatically exported
    • EPOD_XML_EXPORT_VEHICLECHECKS - All pending checks

The Auto-Export procedure automatically sends recently completed jobs to any third party system.

The Vehicle Checks will be sent according to the standard outbound flow, looking up entries in the Job Export Configuration table "EPOD_XF_CONFIG" and sending out messages via SOAP or POST methods. The new flag against Vehicle Check "EPL_XFER_FLAG" will be initially set to "N" when the vehicle check record is created, but set to "Y" once a vehicle check message has been sent, indicating that the record no longer needs to be sent.

The content of XML messages will be similar to the XML above in the webservice outbound, and is illustrated below:

<EPOD_EXPORT_VEHICLECHECKS_RESPONSE RESULT="ACK">
  <EPOD_VEHICLE_CHECKS>
    <EPOD_VEHICLE_CHECK>
      <EPL_SITE_ID>DEMO</EPL_SITE_ID>
      <EPL_VEHICLE_ID>VEH1</EPL_VEHICLE_ID>
      <EPL_VEHICLE_CHECK_DATE>20130101</EPL_VEHICLE_CHECK_DATE>
      <EPL_VEHICLE_CHECK_TIME>09000000</EPL_VEHICLE_CHECK_TIME>
      <EPL_USER_ID>USER1</EPL_USER_ID>
      <EPL_VEHICLE_CHECK_DATA>
        <VEHICLE_CHECK>
          <QUESTION ID="0001">
            <TEXT>Please enter the current mileage of the vehicle.</TEXT>
            <FORMAT>N</FORMAT>
            <SKIPABLE>N</SKIPABLE>
            <ANSWER>5</ANSWER>
          </QUESTION>
          <QUESTION ID="002">
            <TEXT>Please check the following items:</TEXT>
            <FORMAT>X</FORMAT>
            <SKIPABLE>N</SKIPABLE>
            <ITEMS>
              <ITEM ANSWER="Y">Oil Level</ITEM>
              <ITEM ANSWER="Y">Tyres</ITEM>
              <ITEM ANSWER="Y">Brakes</ITEM>
              <ITEM ANSWER="Y">Water</ITEM>
              <ITEM ANSWER="Y">Lights</ITEM>
            </ITEMS>
          </QUESTION>
        </VEHICLE_CHECK>
      </EPL_VEHICLE_CHECK_DATA>
    </EPOD_VEHICLE_CHECK>
  </EPOD_VEHICLE_CHECKS>
</EPOD_EXPORT_VEHICLECHECKS_RESPONSE>


Warning Warning: Section requires completion


Appendix A: TEST PLAN

Warning Warning: Section requires completion

Test Script / Scenario ReferenceVehicle Checks Auto-ExportCall Number(s): 313959 312018-7
Test Script / Scenario DescriptionTo show that...PASS / ISSUES / FAIL
Menu AccessNone 
Pre-requisites...Tested By:
 
Test ObjectiveTo test that: ...Date:
 


Step Action Result Remarks P/F
1 Server      
       
1.01    
1.02    
1.03    
1.04    



Appendix B: Quote & Document References

Cost Details
Activity No. of Days Rate per Day (£) Cost (£ Exc. VAT)
Requirements 0.00 0 £0.00
Change Request Evaluation 0.00 0 £0.00
Functional Specification 0.50 0 £0.00
Technical Specification 0.00 0 £0.00
Development 3.00 0 £0.00
Testing and Release 0.50 0 £0.00
Implementation 0.00 0 £0.00
Project Management First argument to "number_format" must be a number. 0 £First argument to "number_format" must be a number.
 
TOTAL First argument to "number_format" must be a number.   £First argument to "number_format" must be a number.
Estimate excludes training, release to live and go live support.

B.1 References

Ref NoDocument Title & IDVersionDate
1UG 291094 EPOD Admin User Guide2.04/4/2012
2[http://172.198.45.54/calidus-assist/OBS/index.php/UG_291097_EPOD_Client_User_Guide UG 291097 EPOD Client User Guide3.023/4/2013
3REQ 312018 Bag It Up EPOD Requirements0.301/10/2013


B.2 Glossary

Term Definition
EPOD Electronic Proof of Delivery. The OBS EPOD system is CALIDUS ePOD.
CALIDUS eSERV The OBS mobile system to complete Service functionality in the field. This is part of the CALIDUS ePOD system.
PDA The mobile device on which the C-ePOD system will run in the field. This can be a Phone, EDA or industrial PDA, running Android.
DAL Data Access Layer. A mechanism for accessing data by the system that is removed from the application, allowing for simplified access and providing protection to the data, as only approved DAL methods can be used to modify it.
GPS Global Positioning System. A mechanism of retrieving accurate positioning information in the form of Latitude and Longitude (Lat-Long) co-ordinates from a device.
GPRS, 3G, HSDPA, Data Service All terms referring to mobile device network connectivity, and the speed at which the device connects to the internet.


B.3 Authorised By


Barry Preece

OBS Project Manager
_____________________________

____________________(PRINT)

Client Representative
_____________________________