FS 305796 EPOD Vigo Interface

From Calidus HUB
Revision as of 17:26, 30 January 2013 by Anw (talk | contribs) (v0.2 - Ready for customer review)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)





Aptean Logo.png







PartnerLink

EPOD Vigo Interface


CALIDUS EPOD

25th January 2013 - 0.2
Reference: FS 305796












































Functional Overview

The document is intended to describe the exact requirements for the Vigo TMS system interfacing to and from the CALIDUS EPOD system.

Client Requirement

The requirements were captured from the Partnerlink staff on 18/01/2013, at the Kettering operation.

  • The Vigo system will send messages to the CALIDUS EPOD system to define Loads and Trips to be completed.
  • The CALIDUS EPOD system will inform the Vigo system that the jobs are completed or cancelled.

Note Note: There is also a requirement to interface an image of the generated POD document to all TMS systems being used by the PartnerLink partners. This will be covered in a separate document, as this will make use of the existing image upload processing available in the TMS systems.

Solution Overview

The existing CALIDUS EPOD Interface format and transport mechanism will be used, both for exporting and importing of data.

The summary of the solution requirements are:

  • Standing Data (Vehicles, Users, Reason Codes, Job Groups, Sites) will be manually set up within CALIDUS ePOD - no automated drip-feed of this data will be entered into.
  • Sending of data to and receiving data from CALIDUS ePOD will be through the standard ePOD XML formats provided.
  • The mechanism of sending and receiving data will be through Web Services
  • The sending of data to CALIDUS ePOD will be through a manual option within the Vigo system ("Send to ePOD").
  • The Vigo system must merge of Delivery and Collection manifests into a single Consolidated Manifest when sending data.
  • The Vigo system must sort the data by Type (Deliveries first, then Collections), the planned start time, if available, or sequence to be completed, as required by the customer (Partnerlink).
  • Once manifests have been sent to CALIDUS ePOD, any amendments to the manifests sent will be automatically re-exported, up to the point of completion of the job and manifest.
  • CALIDUS ePOD exporting of completed or cancelled jobs will be through a timed process, expected to be every 5 minutes.

Out of scope of this document:

  • CALIDUS ePOD will be modified to export the POD/POC documents through the standard JobShare Image Upload system.

This will require the Vigo system to be modified as follows:

  • Consolidate manifests that are assigned to the same user and vehicle onto a new Consolidated Manifest ID.
  • Trigger the export of the Loads and Jobs at the request of a user, and automatically after this request whenever the manifest or job information changes, up to the point of completion of the job and manifest.
  • Convert the information into an agreed XML format (described here).
  • Connect to the CALIDUS EPOD Import web service and send the XML data as the payload to a SOAP request.
  • Process the acknowledgement response effectively.
  • Create a web service for importing data back into the Vigo TMS when complete.
  • Process the payload provided by a SOAP request from CALIDUS EPOD (when jobs are completed or cancelled).
  • Acknowledge the success or failure through the response format provided.

Scope

Note Note: There are modifications being made to the CALIDUS EPOD system, both for product enhancement and specifically for the Partnerlink customer that are driving changes into both the import and export functionality described here. Some have not yet been finalised. All known modifications to the schemas have been added to this document. Should any further requirements be known after this document is issued, this document will be revised and reissued at that time.

Note Note: Future modifications may be made to the exporting of data from CALIDUS EPOD to the Vigo system. When modifications of this nature are made, a new validation schema (XSD) for the XML payload will be issued. The modifications to the Vigo system to import this data should be made in such a way that this new XSD can be replaced into the system without program modifications in the future.

Note Note: It is not deemed necessary at this time to map interfaces from Vigo for Standing Data, as it was agreed that this would be maintained separately and manually within CALIDUS EPOD. Those flows are:

  • Vehicles
  • Reason Codes (used when cancelling jobs or pallets)
  • Users (Drivers)
  • Customers

The system will be configured to automatically create the Vehicles and Users with very basic information based off the received values in the Load and Job messages. Customers will be created as part of the information received through the Job messages.

A number of actions are outstanding from this meeting regarding the production of this interface specification, as follows:

  • Partnerlink to send a screenshot of the main Vigo screen, so that it can be used in the specification for when the user will select to send the selected manifests to ePOD.
  • Partnerlink to provide a list of existing Partner Codes in use.
  • Partnerlink to provide a document of the standard Reason Codes in use.
  • Partnerlink to update the spreadsheets (provided to map the import to and Export from ePOD) to indicate Vigo Table and Field Names, for inclusion in this document.

Until these actions are completed, the document will remain in draft form, unless authorised by the customer.

Set-up

Pre-requisites

  • A working Vigo TMS and CALIDUS EPOD system must be in place.
  • The two systems must be able to connect to the web services created, either through an internet or LAN connection.

Menu Structure

None

Data

As described below.


Functional Description

Vigo Export

The export to the CALIDUS EPOD system will be made at the request of the Vigo user - the user will select an option from the screen which will send all selected manifests through to the CALIDUS EPOD system.

The following is a screen-shot of where this functionality is expected to be added.

FS-305796-Vigo-01.PNG

Note Note: If, at any point up to completion of a specific job or completion of the manifest, modifications are made to the manifests that have been sent to CALIDUS EPOD or the jobs contained within those manifests, they will be automatically resent with all details at the point that modifications are made.

Creating the Messages

Should any manifests be available for sending at any time, and there are manifests for the same date that are allocated to the same driver, vehicle and trailer, Vigo will generate a Consolidated Manifest ID and assign this to the manifests that are linked. This will be a unique manifest number in itself, although does not have to be generated in the same format.

The purpose of this is so that some operations will link two manifests together, a set of deliveries, and a set of collections. As the customer requires these tasks to be executed by the same driver and interleave the collections among the deliveries if possible, they must be collected onto the same manifest.

This Consolidated Manifest number should be used to identify the Load for CALIDUS EPOD.

When manifests are consolidated in this way, the sorting of the data should be preserved, but the Delivery manifest jobs placed first on the consolidated manifest.

This functionality should be enabled through configuration within the Vigo system.

Message Content

A basic list if all the fields in the interface for Load (Manifest) and Job follows. A full spreadsheet of all the import flows and fields containing all the limitations on length and defaulted values is provided separately.

EPOD_LOAD

NameDescriptionExternal FieldNotes
EPL_SITE_IDEPL_SITE_ID: Unique reference of the site that the Load belongs to.Partner CodePartner Code of the partner executing the load.
EPL_LOAD_IDEPL_LOAD_ID: Unique reference of the Load.Manifest_NoThe manifest number or Consolidated Manifest No
EPL_LOAD_START_PLANNED_DATE Del_DateThese times will be defaulted by the EPOD system to the earliest and latest dates and times against the jobs provided, unless this information can be provided by the TMS
EPL_LOAD_START_PLANNED_TIME TimeNo times will be provided for jobs. Therefore ETA will only start to be shown after the first job is started.
EPL_LOAD_END_PLANNED_DATE Del_DateAs above
EPL_LOAD_END_PLANNED_TIME TimeAs above
EPL_LOAD_DISTANCE_PLANNED  N/A
EPL_USER_IDTo be used if a user is predefined as assigned to complete this LOAD.Driver CodeUser to whom load assigned
EPL_VEHICLE_IDTo be used if a vehicle is predefined as assigned to complete this LOAD.Vehicle 
EPL_TRAILER_IDTo be used if the vehicle above is a Tractor unit, and requires a trailer ID. This can be left blank to have this entered by the driver on demand.?Provided if the vehicle requires a trailer ID and one is known. Otherwise left blank.
EPOD_JOBSEPOD_JOBS contains a series of EPOD_JOB objects.  

EPOD_JOB

NameDescriptionExternal FieldNotes
EPL_SITE_IDUnique Reference for the Site that the Job belongs topartner codeAA: To provide a list. Expected at this time to be one of "L01" to "L04"
EPL_LOAD_IDUnique Reference for the Load that the Job belongs to. If not provided, defaulted from the enclosing EPOD_LOADManifest_NoFrom the load record. This may also be the Consolidated manifest number
EPL_JOB_IDUnique reference for the job. If not provided, this will be generated by EPOD Omitted - generated by EPOD
EPL_JOB_CODEExternal reference for the Job. This element can be used to link a collection and delivery together under the same reference. So, if an order is being collected at A and delivered at B, there are 2 jobs, each with a unique Job ID, but with the same Job Code. Optionally, EPOD will keep the Delivery leg of a linked job updated with the information captured from the collection.Ref1 
EPL_JOB_TYPED=Delivery, C=Collection, S=Service"C" or "D" 
EPL_JOB_GROUP partner code 
EPL_CUST_REFCustomer's Order ReferenceRef2 
EPL_JOB_INSTRUCTIONInstructions for the DriverNotes1+Notes2 
EPL_OFFICE_INSTRUCTIONInstructions for Admin staffNotes3+Notes4 
EPL_START_PLANNED_DATE Del_DateIf winroute in use, this can be provided.
EPL_START_PLANNED_TIME TimeMay be defaulted to a time based on SLA. May be omitted.
EPL_END_PLANNED_DATE  N/A
EPL_END_PLANNED_TIME  N/A
EPL_DISTANCE_PLANNED  N/A
EPOD_CUSTOMERThis tag may be used to specify a Customer separately. If this is used, and the address and contact information on the job below is different, the EPOD system will create a Job Address specifically for this job, whilst maintaining the Customer information separately, as an Invoice address.
Note that this will happen if the Customer has been created previously either through another Job, another Customer Tag in a Job or a Customer Tag alone.
 N/A
EPL_CUSTOMER_CODECustomer Code from external system. If not provided, one will be generated from EPL_CUSTOMER_NAMEaccount_code 
EPL_CUSTOMER_NAMEThe Name of the customerDel_NameFor collections, these values would be the Collection values, i.e. Col_Name, Col_post, etc.
EPL_ADDRESS_1 Del_addr1etc
EPL_ADDRESS_2 Del_addr2 
EPL_ADDRESS_3 Del_addr3 
EPL_ADDRESS_4 Del_addr4 
EPL_ADDRESS_5  N/A
EPL_POSTCODE Del_postCol_post
EPL_CONTACTContact on site for the job. Can be changed at Job completion.""This field is always to be sent blank, to force the users to enter a contact on the PDA client.
EPL_TELEPHONEThe Customer's Contact Telephone number  
EPL_EMAILContact Email address. Can be used to automatically send Job Completion documents to the customer.  
EPL_OWNER_NAMECan be used as a display field for documentation(owning) partner codeNeed to set this as the partner that owns the job (i.e. a JobShare job) rather than the partner who is executing the job.
EPL_SO_NUMBERSales Order Reference.Ref3 
EPL_ORDER_DATEDate Order created - defaulted to Now()  
EPL_SALES_CONTACTThe operative who took the order. Can be used as a display field for documentation N/A
EPL_SERVICE_LEVEL  N/A
EPL_SEQUENCEThe sequence in which the jobs are to be completed. If this is not provided, the system will allocate the jobs in the sequence in which they were provided in this interface i.e. first is "0001", second is "0002", etc. This is to be set by the TMS or defaulted by EPOD
EPL_TRAILER_IDTo be used if the vehicle being used to fulfil the job is a Tractor unit, and requires a trailer ID. This can be left blank to have this entered by the driver on demand. May be sent, if the vehicle requires a trailer ID and this is known at the time that the job is sent.
EPOD_CONTAINERSContains a series of EPOD_CONTAINER objects  
EPOD_PRODUCTSContains a series of EPOD_PRODUCT objects N/A
EPOD_SERVICE  N/A

EPOD_CONTAINER

NameDescriptionExternal FieldNotes
EPL_SITE_ID Partner CodeDefaulted
EPL_JOB_ID  From Job record
EPL_CONTAINER_IDEPL_CONTAINER_ID: The unique identifier for a container.Label_IDActually from the tracking id (an id for each pallet to be delivered).
EPL_SEQUENCEThe sequence in which the containers should be unloaded.  
EPL_CONTAINER_PACKAGE_CODEContainer Type CodeEF/EH/EQ/SF/SH/SQNot required
EPL_CONTAINER_PACKAGE_DESCContainer Type DescriptionEURO FULL, etcNot required
EPL_GROSS_WEIGHTGross weight of the containerKilosNot required, but may be useful?
EPL_DESCRIPTION_LONGLong description of the container  
EPL_CODE_1Additional code field used for any purposeSpacesNumber of spaces taken on the vehicle. Required for documentation.
EPL_CODE_2Additional code field used for any purpose  
EPL_CODE_3Additional code field used for any purpose  
EPOD_PRODUCTSEPOD_PRODUCTS contains a series of EPOD_PRODUCT objects associated to the container. Not used

Notes:

  • The Vigo Table and Field names have been provided by the Partnerlink team.
  • Jobs with planned start dates and times should be sent through on the message.
  • Jobs without planned start dates and times, but with a service level agreement against them i.e. AM or PM deliveries, should have the time defaulted appropriately. For example:
    • AM - set to 11:59
    • PM - set to 16:59
  • Jobs without any planned start times or service level agreements should leave the time unset (i.e. blank).
  • The jobs should be sent through in the order in which they should be completed. The Sequence field should be sent with a numeric padded value as described in the description.
  • Loads and the contained jobs will be sent as one message. Multiple loads can be built into one XML message structure.
  • XSDs for validating the XML structure will be provided.

A sample of a single load with multiple jobs is shown below:

<EPOD_IMPORT EPL_SITE_ID="L03" EPL_USER_ID="ADM" EPL_USER_PASSWORD="TEST">
  <EPOD_LOADS>
    <EPOD_LOAD>
      <EPL_SITE_ID>L03</EPL_SITE_ID>
      <EPL_LOAD_ID>258309</EPL_LOAD_ID>
      <EPL_LOAD_START_PLANNED_DATE>20121112</EPL_LOAD_START_PLANNED_DATE>
      <EPL_LOAD_START_PLANNED_TIME>09450000</EPL_LOAD_START_PLANNED_TIME>
      <EPL_LOAD_END_PLANNED_DATE>20121112</EPL_LOAD_END_PLANNED_DATE>
      <EPL_LOAD_END_PLANNED_TIME>09450000</EPL_LOAD_END_PLANNED_TIME>
      <EPL_USER_ID>pda</EPL_USER_ID>
      <EPL_VEHICLE_ID>33218</EPL_VEHICLE_ID>
      <EPL_TRAILER_ID></EPL_TRAILER_ID>
      <EPOD_JOBS>
        <EPOD_JOB>
          <EPL_SITE_ID>L03</EPL_SITE_ID>
          <EPL_LOAD_ID>258309</EPL_LOAD_ID>
          <EPL_JOB_CODE>0948464</EPL_JOB_CODE>
          <EPL_JOB_TYPE>D</EPL_JOB_TYPE>
          <EPL_JOB_GROUP>L03</EPL_JOB_GROUP>
          <EPL_CUST_REF>0001903931</EPL_CUST_REF>
          <EPL_JOB_INSTRUCTION>DEL 12/11 @ 0945 HRS REF CARL 2046517  WMD122</EPL_JOB_INSTRUCTION>
          <EPL_START_PLANNED_DATE>20121112</EPL_START_PLANNED_DATE>
          <EPL_START_PLANNED_TIME>09450000</EPL_START_PLANNED_TIME>
          <EPL_CUSTOMER_NAME>MAWDSLEY BROOKS & CO LTD</EPL_CUSTOMER_NAME>
          <EPL_ADDRESS_1>UNIT 1, HAINGE PARK</EPL_ADDRESS_1>
          <EPL_ADDRESS_2>HAINGE ROAD</EPL_ADDRESS_2>
          <EPL_ADDRESS_3></EPL_ADDRESS_3>
          <EPL_ADDRESS_4></EPL_ADDRESS_4>
          <EPL_POSTCODE>B69 2NY</EPL_POSTCODE>
          <EPL_CONTACT></EPL_CONTACT>
          <EPL_SO_NUMBER>GA026183/003</EPL_SO_NUMBER>
          <EPL_SEQUENCE>0001</EPL_SEQUENCE>
          <EPL_TRAILER_ID></EPL_TRAILER_ID>
          <EPOD_CONTAINERS>
            <EPOD_CONTAINER>
              <EPL_SITE_ID>L03</EPL_SITE_ID>
              <EPL_CONTAINER_ID>063000094846401</EPL_CONTAINER_ID>
              <EPL_CONTAINER_PACKAGE_CODE>PALL</EPL_CONTAINER_PACKAGE_CODE>
              <EPL_CONTAINER_PACKAGE_DESC>Pallet</EPL_CONTAINER_PACKAGE_DESC>
              <EPL_GROSS_WEIGHT>120</EPL_GROSS_WEIGHT>
              <EPL_DESCRIPTION_LONG>Pallet</EPL_DESCRIPTION_LONG>
              <EPL_CODE_1>1</EPL_CODE_1>
            </EPOD_CONTAINER>
          </EPOD_CONTAINERS>
        </EPOD_JOB>
        <EPOD_JOB>
          <EPL_SITE_ID>L03</EPL_SITE_ID>
          <EPL_LOAD_ID>258309</EPL_LOAD_ID>
          <EPL_JOB_CODE>0945951</EPL_JOB_CODE>
          <EPL_JOB_TYPE>D</EPL_JOB_TYPE>
          <EPL_JOB_GROUP>KOO</EPL_JOB_GROUP>
          <EPL_CUST_REF>06/12/026963</EPL_CUST_REF>
          <EPL_JOB_INSTRUCTION>3 PLTS   DEL. MON 12TH  ASAP  OPEN 8AM-4PM  2@ 120X100X210 1@120X100X150</EPL_JOB_INSTRUCTION>
          <EPL_START_PLANNED_DATE>20121112</EPL_START_PLANNED_DATE>
          <EPL_START_PLANNED_TIME></EPL_START_PLANNED_TIME>
          <EPL_CUSTOMER_NAME>SVEN MANUFACTURING</EPL_CUSTOMER_NAME>
          <EPL_ADDRESS_1>21</EPL_ADDRESS_1>
          <EPL_ADDRESS_2>FIRST AVENUE,PENSNETT TRADING</EPL_ADDRESS_2>
          <EPL_ADDRESS_3>KINGSWINFORD</EPL_ADDRESS_3>
          <EPL_ADDRESS_4></EPL_ADDRESS_4>
          <EPL_POSTCODE>DY6 7TU</EPL_POSTCODE>
          <EPL_CONTACT></EPL_CONTACT>
          <EPL_SO_NUMBER>POR TRLR B92CXR</EPL_SO_NUMBER>
          <EPL_SEQUENCE>0002</EPL_SEQUENCE>
          <EPL_TRAILER_ID></EPL_TRAILER_ID>
          <EPOD_CONTAINERS>
            <EPOD_CONTAINER>
              <EPL_SITE_ID>L03</EPL_SITE_ID>
              <EPL_CONTAINER_ID>063000094595101</EPL_CONTAINER_ID>
              <EPL_CONTAINER_PACKAGE_CODE>PALL</EPL_CONTAINER_PACKAGE_CODE>
              <EPL_CONTAINER_PACKAGE_DESC>Pallet</EPL_CONTAINER_PACKAGE_DESC>
              <EPL_GROSS_WEIGHT>186</EPL_GROSS_WEIGHT>
              <EPL_DESCRIPTION_LONG>Pallet</EPL_DESCRIPTION_LONG>
              <EPL_CODE_1>1</EPL_CODE_1>
            </EPOD_CONTAINER>
            <EPOD_CONTAINER>
              <EPL_SITE_ID>L03</EPL_SITE_ID>
              <EPL_CONTAINER_ID>063000094595102</EPL_CONTAINER_ID>
              <EPL_CONTAINER_PACKAGE_CODE>PALL</EPL_CONTAINER_PACKAGE_CODE>
              <EPL_CONTAINER_PACKAGE_DESC>Pallet</EPL_CONTAINER_PACKAGE_DESC>
              <EPL_GROSS_WEIGHT>186</EPL_GROSS_WEIGHT>
              <EPL_DESCRIPTION_LONG>Pallet</EPL_DESCRIPTION_LONG>
              <EPL_CODE_1>1</EPL_CODE_1>
            </EPOD_CONTAINER>
            <EPOD_CONTAINER>
              <EPL_SITE_ID>L03</EPL_SITE_ID>
              <EPL_CONTAINER_ID>063000094595103</EPL_CONTAINER_ID>
              <EPL_CONTAINER_PACKAGE_CODE>PALL</EPL_CONTAINER_PACKAGE_CODE>
              <EPL_CONTAINER_PACKAGE_DESC>Pallet</EPL_CONTAINER_PACKAGE_DESC>
              <EPL_GROSS_WEIGHT>186</EPL_GROSS_WEIGHT>
              <EPL_DESCRIPTION_LONG>Pallet</EPL_DESCRIPTION_LONG>
              <EPL_CODE_1>1</EPL_CODE_1>
            </EPOD_CONTAINER>
          </EPOD_CONTAINERS>
        </EPOD_JOB>
        <EPOD_JOB>
          <EPL_SITE_ID>L03</EPL_SITE_ID>
          <EPL_LOAD_ID>258309</EPL_LOAD_ID>
          <EPL_JOB_CODE>0945953</EPL_JOB_CODE>
          <EPL_JOB_TYPE>D</EPL_JOB_TYPE>
          <EPL_JOB_GROUP>KOO</EPL_JOB_GROUP>
          <EPL_CUST_REF>06/12/026964</EPL_CUST_REF>
          <EPL_JOB_INSTRUCTION>2 PLTS   DEL. ASAP MON 12TH OPEN 8AM-4PM 1@ 120X100X220  1@ 120X100X115</EPL_JOB_INSTRUCTION>
          <EPL_START_PLANNED_DATE>20121112</EPL_START_PLANNED_DATE>
          <EPL_START_PLANNED_TIME></EPL_START_PLANNED_TIME>
          <EPL_CUSTOMER_NAME>SVEN MANUFACTURING</EPL_CUSTOMER_NAME>
          <EPL_ADDRESS_1>21</EPL_ADDRESS_1>
          <EPL_ADDRESS_2>FIRST AVENUE,PENSNETT TRADING</EPL_ADDRESS_2>
          <EPL_ADDRESS_3>KINGSWINFORD</EPL_ADDRESS_3>
          <EPL_ADDRESS_4></EPL_ADDRESS_4>
          <EPL_POSTCODE>DY6 7TU</EPL_POSTCODE>
          <EPL_CONTACT></EPL_CONTACT>
          <EPL_SO_NUMBER>POR TRLR B92CXR</EPL_SO_NUMBER>
          <EPL_SEQUENCE>0003</EPL_SEQUENCE>
          <EPL_TRAILER_ID></EPL_TRAILER_ID>
          <EPOD_CONTAINERS>
            <EPOD_CONTAINER>
              <EPL_SITE_ID>L03</EPL_SITE_ID>
              <EPL_CONTAINER_ID>063000094595301</EPL_CONTAINER_ID>
              <EPL_CONTAINER_PACKAGE_CODE>PALL</EPL_CONTAINER_PACKAGE_CODE>
              <EPL_CONTAINER_PACKAGE_DESC>Pallet</EPL_CONTAINER_PACKAGE_DESC>
              <EPL_GROSS_WEIGHT>205</EPL_GROSS_WEIGHT>
              <EPL_DESCRIPTION_LONG>Pallet</EPL_DESCRIPTION_LONG>
              <EPL_CODE_1>1</EPL_CODE_1>
            </EPOD_CONTAINER>
            <EPOD_CONTAINER>
              <EPL_SITE_ID>L03</EPL_SITE_ID>
              <EPL_CONTAINER_ID>063000094595302</EPL_CONTAINER_ID>
              <EPL_CONTAINER_PACKAGE_CODE>PALL</EPL_CONTAINER_PACKAGE_CODE>
              <EPL_CONTAINER_PACKAGE_DESC>Pallet</EPL_CONTAINER_PACKAGE_DESC>
              <EPL_GROSS_WEIGHT>205</EPL_GROSS_WEIGHT>
              <EPL_DESCRIPTION_LONG>Pallet</EPL_DESCRIPTION_LONG>
              <EPL_CODE_1>1</EPL_CODE_1>
            </EPOD_CONTAINER>
          </EPOD_CONTAINERS>
        </EPOD_JOB>
        <EPOD_JOB>
          <EPL_SITE_ID>L03</EPL_SITE_ID>
          <EPL_LOAD_ID>258309</EPL_LOAD_ID>
          <EPL_JOB_CODE>0948551</EPL_JOB_CODE>
          <EPL_JOB_TYPE>D</EPL_JOB_TYPE>
          <EPL_JOB_GROUP>KOO</EPL_JOB_GROUP>
          <EPL_CUST_REF>1533960</EPL_CUST_REF>
          <EPL_JOB_INSTRUCTION> 49 BOX 2 PLT DEL 12/11 T/L  MW/LDS KIDD</EPL_JOB_INSTRUCTION>
          <EPL_START_PLANNED_DATE>20121112</EPL_START_PLANNED_DATE>
          <EPL_START_PLANNED_TIME></EPL_START_PLANNED_TIME>
          <EPL_CUSTOMER_NAME>CHURCH OF JESUS CHRIST LDS</EPL_CUSTOMER_NAME>
          <EPL_ADDRESS_1>6-8 BIRMINGHAM RD</EPL_ADDRESS_1>
          <EPL_ADDRESS_2></EPL_ADDRESS_2>
          <EPL_ADDRESS_3>KIDDERMINSTER</EPL_ADDRESS_3>
          <EPL_ADDRESS_4></EPL_ADDRESS_4>
          <EPL_POSTCODE>DY10 2BX</EPL_POSTCODE>
          <EPL_CONTACT></EPL_CONTACT>
          <EPL_SO_NUMBER>1030685</EPL_SO_NUMBER>
          <EPL_SEQUENCE>0004</EPL_SEQUENCE>
          <EPL_TRAILER_ID></EPL_TRAILER_ID>
          <EPOD_CONTAINERS>
            <EPOD_CONTAINER>
              <EPL_SITE_ID>L03</EPL_SITE_ID>
              <EPL_CONTAINER_ID>063000094855101</EPL_CONTAINER_ID>
              <EPL_CONTAINER_PACKAGE_CODE>PALL</EPL_CONTAINER_PACKAGE_CODE>
              <EPL_CONTAINER_PACKAGE_DESC>Pallet</EPL_CONTAINER_PACKAGE_DESC>
              <EPL_GROSS_WEIGHT>451</EPL_GROSS_WEIGHT>
              <EPL_DESCRIPTION_LONG>Pallet</EPL_DESCRIPTION_LONG>
              <EPL_CODE_1>1</EPL_CODE_1>
            </EPOD_CONTAINER>
            <EPOD_CONTAINER>
              <EPL_SITE_ID>L03</EPL_SITE_ID>
              <EPL_CONTAINER_ID>063000094855102</EPL_CONTAINER_ID>
              <EPL_CONTAINER_PACKAGE_CODE>PALL</EPL_CONTAINER_PACKAGE_CODE>
              <EPL_CONTAINER_PACKAGE_DESC>Pallet</EPL_CONTAINER_PACKAGE_DESC>
              <EPL_GROSS_WEIGHT>451</EPL_GROSS_WEIGHT>
              <EPL_DESCRIPTION_LONG>Pallet</EPL_DESCRIPTION_LONG>
              <EPL_CODE_1>1</EPL_CODE_1>
            </EPOD_CONTAINER>
          </EPOD_CONTAINERS>
        </EPOD_JOB>
        <EPOD_JOB>
          <EPL_SITE_ID>L03</EPL_SITE_ID>
          <EPL_LOAD_ID>258309</EPL_LOAD_ID>
          <EPL_JOB_CODE>SE51237</EPL_JOB_CODE>
          <EPL_JOB_TYPE>D</EPL_JOB_TYPE>
          <EPL_JOB_GROUP>KOO</EPL_JOB_GROUP>
          <EPL_CUST_REF>14658843</EPL_CUST_REF>
          <EPL_JOB_INSTRUCTION>DEL 12/11 </EPL_JOB_INSTRUCTION>
          <EPL_START_PLANNED_DATE>20121112</EPL_START_PLANNED_DATE>
          <EPL_START_PLANNED_TIME></EPL_START_PLANNED_TIME>
          <EPL_CUSTOMER_NAME>MUSIC GROUP RESEARCH UK LTD</EPL_CUSTOMER_NAME>
          <EPL_ADDRESS_1>COPPICE TRADING ESTATE</EPL_ADDRESS_1>
          <EPL_ADDRESS_2></EPL_ADDRESS_2>
          <EPL_ADDRESS_3>KIDDERMINSTER</EPL_ADDRESS_3>
          <EPL_ADDRESS_4></EPL_ADDRESS_4>
          <EPL_POSTCODE>DY11 7HJ</EPL_POSTCODE>
          <EPL_CONTACT></EPL_CONTACT>
          <EPL_SO_NUMBER>750068</EPL_SO_NUMBER>
          <EPL_SEQUENCE>0005</EPL_SEQUENCE>
          <EPL_TRAILER_ID></EPL_TRAILER_ID>
          <EPOD_CONTAINERS>
            <EPOD_CONTAINER>
              <EPL_SITE_ID>L03</EPL_SITE_ID>
              <EPL_CONTAINER_ID>063555015123701</EPL_CONTAINER_ID>
              <EPL_CONTAINER_PACKAGE_CODE>PALL</EPL_CONTAINER_PACKAGE_CODE>
              <EPL_CONTAINER_PACKAGE_DESC>Pallet</EPL_CONTAINER_PACKAGE_DESC>
              <EPL_GROSS_WEIGHT>228</EPL_GROSS_WEIGHT>
              <EPL_DESCRIPTION_LONG>Pallet</EPL_DESCRIPTION_LONG>
              <EPL_CODE_1>1</EPL_CODE_1>
            </EPOD_CONTAINER>
            <EPOD_CONTAINER>
              <EPL_SITE_ID>L03</EPL_SITE_ID>
              <EPL_CONTAINER_ID>063555015123702</EPL_CONTAINER_ID>
              <EPL_CONTAINER_PACKAGE_CODE>PALL</EPL_CONTAINER_PACKAGE_CODE>
              <EPL_CONTAINER_PACKAGE_DESC>Pallet</EPL_CONTAINER_PACKAGE_DESC>
              <EPL_GROSS_WEIGHT>228</EPL_GROSS_WEIGHT>
              <EPL_DESCRIPTION_LONG>Pallet</EPL_DESCRIPTION_LONG>
              <EPL_CODE_1>1</EPL_CODE_1>
            </EPOD_CONTAINER>
            <EPOD_CONTAINER>
              <EPL_SITE_ID>L03</EPL_SITE_ID>
              <EPL_CONTAINER_ID>063555015123703</EPL_CONTAINER_ID>
              <EPL_CONTAINER_PACKAGE_CODE>PALL</EPL_CONTAINER_PACKAGE_CODE>
              <EPL_CONTAINER_PACKAGE_DESC>Pallet</EPL_CONTAINER_PACKAGE_DESC>
              <EPL_GROSS_WEIGHT>228</EPL_GROSS_WEIGHT>
              <EPL_DESCRIPTION_LONG>Pallet</EPL_DESCRIPTION_LONG>
              <EPL_CODE_1>1</EPL_CODE_1>
            </EPOD_CONTAINER>
            <EPOD_CONTAINER>
              <EPL_SITE_ID>L03</EPL_SITE_ID>
              <EPL_CONTAINER_ID>063555015123704</EPL_CONTAINER_ID>
              <EPL_CONTAINER_PACKAGE_CODE>PALL</EPL_CONTAINER_PACKAGE_CODE>
              <EPL_CONTAINER_PACKAGE_DESC>Pallet</EPL_CONTAINER_PACKAGE_DESC>
              <EPL_GROSS_WEIGHT>228</EPL_GROSS_WEIGHT>
              <EPL_DESCRIPTION_LONG>Pallet</EPL_DESCRIPTION_LONG>
              <EPL_CODE_1>1</EPL_CODE_1>
            </EPOD_CONTAINER>
          </EPOD_CONTAINERS>
        </EPOD_JOB>
        <EPOD_JOB>
          <EPL_SITE_ID>L03</EPL_SITE_ID>
          <EPL_LOAD_ID>258309</EPL_LOAD_ID>
          <EPL_JOB_CODE>0949219</EPL_JOB_CODE>
          <EPL_JOB_TYPE>D</EPL_JOB_TYPE>
          <EPL_JOB_GROUP>KOO</EPL_JOB_GROUP>
          <EPL_CUST_REF>222665</EPL_CUST_REF>
          <EPL_JOB_INSTRUCTION>*T/LIFT DO NOT DOUBLE STACK* DEL 12/11 *ALL PAGES OF POD'S TO BE SIGNED & RETURNED**</EPL_JOB_INSTRUCTION>
          <EPL_START_PLANNED_DATE>20121112</EPL_START_PLANNED_DATE>
          <EPL_START_PLANNED_TIME></EPL_START_PLANNED_TIME>
          <EPL_CUSTOMER_NAME>WILTS ELECTRICAL</EPL_CUSTOMER_NAME>
          <EPL_ADDRESS_1>UNIT 31</EPL_ADDRESS_1>
          <EPL_ADDRESS_2>KELVIN WAY</EPL_ADDRESS_2>
          <EPL_ADDRESS_3>WEST BROMWICH</EPL_ADDRESS_3>
          <EPL_ADDRESS_4></EPL_ADDRESS_4>
          <EPL_POSTCODE>B70 7TP</EPL_POSTCODE>
          <EPL_CONTACT></EPL_CONTACT>
          <EPL_SO_NUMBER>220772</EPL_SO_NUMBER>
          <EPL_SEQUENCE>0006</EPL_SEQUENCE>
          <EPL_TRAILER_ID></EPL_TRAILER_ID>
          <EPOD_CONTAINERS>
            <EPOD_CONTAINER>
              <EPL_SITE_ID>L03</EPL_SITE_ID>
              <EPL_CONTAINER_ID>063000094921901</EPL_CONTAINER_ID>
              <EPL_CONTAINER_PACKAGE_CODE>PALL</EPL_CONTAINER_PACKAGE_CODE>
              <EPL_CONTAINER_PACKAGE_DESC>Pallet</EPL_CONTAINER_PACKAGE_DESC>
              <EPL_GROSS_WEIGHT>520</EPL_GROSS_WEIGHT>
              <EPL_DESCRIPTION_LONG>Pallet</EPL_DESCRIPTION_LONG>
              <EPL_CODE_1>1</EPL_CODE_1>
            </EPOD_CONTAINER>
          </EPOD_CONTAINERS>
        </EPOD_JOB>
        <EPOD_JOB>
          <EPL_SITE_ID>L03</EPL_SITE_ID>
          <EPL_LOAD_ID>258309</EPL_LOAD_ID>
          <EPL_JOB_CODE>0948545</EPL_JOB_CODE>
          <EPL_JOB_TYPE>D</EPL_JOB_TYPE>
          <EPL_JOB_GROUP>KOO</EPL_JOB_GROUP>
          <EPL_CUST_REF>1551547</EPL_CUST_REF>
          <EPL_JOB_INSTRUCTION> 2 BOX 1 MIX DEL 12/11 REF: JAMES RODRIGUEZ  CC1134/0028/JR</EPL_JOB_INSTRUCTION>
          <EPL_START_PLANNED_DATE>20121112</EPL_START_PLANNED_DATE>
          <EPL_START_PLANNED_TIME></EPL_START_PLANNED_TIME>
          <EPL_CUSTOMER_NAME>CHURCH OF JESUS CHRIST LDS</EPL_CUSTOMER_NAME>
          <EPL_ADDRESS_1>6-8 BIRMINGHAM RD</EPL_ADDRESS_1>
          <EPL_ADDRESS_2></EPL_ADDRESS_2>
          <EPL_ADDRESS_3>KIDDERMINSTER</EPL_ADDRESS_3>
          <EPL_ADDRESS_4></EPL_ADDRESS_4>
          <EPL_POSTCODE>DY10 2BX</EPL_POSTCODE>
          <EPL_CONTACT></EPL_CONTACT>
          <EPL_SO_NUMBER>1030685</EPL_SO_NUMBER>
          <EPL_SEQUENCE>0007</EPL_SEQUENCE>
          <EPL_TRAILER_ID></EPL_TRAILER_ID>
          <EPOD_CONTAINERS>
            <EPOD_CONTAINER>
              <EPL_SITE_ID>L03</EPL_SITE_ID>
              <EPL_CONTAINER_ID>063000094854501</EPL_CONTAINER_ID>
              <EPL_CONTAINER_PACKAGE_CODE>PALL</EPL_CONTAINER_PACKAGE_CODE>
              <EPL_CONTAINER_PACKAGE_DESC>Pallet</EPL_CONTAINER_PACKAGE_DESC>
              <EPL_GROSS_WEIGHT>36</EPL_GROSS_WEIGHT>
              <EPL_DESCRIPTION_LONG>Pallet</EPL_DESCRIPTION_LONG>
              <EPL_CODE_1>1</EPL_CODE_1>
            </EPOD_CONTAINER>
          </EPOD_CONTAINERS>
        </EPOD_JOB>
        <EPOD_JOB>
          <EPL_SITE_ID>L03</EPL_SITE_ID>
          <EPL_LOAD_ID>258309</EPL_LOAD_ID>
          <EPL_JOB_CODE>DA51425</EPL_JOB_CODE>
          <EPL_JOB_TYPE>D</EPL_JOB_TYPE>
          <EPL_JOB_GROUP>KOO</EPL_JOB_GROUP>
          <EPL_CUST_REF>17685222</EPL_CUST_REF>
          <EPL_JOB_INSTRUCTION>8028816379/816370/816373/816376 PALLETS: 1  ITEMS: 7  TAILLIFT</EPL_JOB_INSTRUCTION>
          <EPL_START_PLANNED_DATE>20121112</EPL_START_PLANNED_DATE>
          <EPL_START_PLANNED_TIME></EPL_START_PLANNED_TIME>
          <EPL_CUSTOMER_NAME>NORTON CANES BUILDERS MERCHANT</EPL_CUSTOMER_NAME>
          <EPL_ADDRESS_1>WALLSALL ROAD, NORTON CANES</EPL_ADDRESS_1>
          <EPL_ADDRESS_2></EPL_ADDRESS_2>
          <EPL_ADDRESS_3>CANNOCK</EPL_ADDRESS_3>
          <EPL_ADDRESS_4></EPL_ADDRESS_4>
          <EPL_POSTCODE>WS11 9NS</EPL_POSTCODE>
          <EPL_CONTACT></EPL_CONTACT>
          <EPL_SO_NUMBER></EPL_SO_NUMBER>
          <EPL_SEQUENCE>0008</EPL_SEQUENCE>
          <EPL_TRAILER_ID></EPL_TRAILER_ID>
          <EPOD_CONTAINERS>
            <EPOD_CONTAINER>
              <EPL_SITE_ID>L03</EPL_SITE_ID>
              <EPL_CONTAINER_ID>063555015142501</EPL_CONTAINER_ID>
              <EPL_CONTAINER_PACKAGE_CODE>PALL</EPL_CONTAINER_PACKAGE_CODE>
              <EPL_CONTAINER_PACKAGE_DESC>Pallet</EPL_CONTAINER_PACKAGE_DESC>
              <EPL_GROSS_WEIGHT>207</EPL_GROSS_WEIGHT>
              <EPL_DESCRIPTION_LONG>Pallet</EPL_DESCRIPTION_LONG>
              <EPL_CODE_1>1</EPL_CODE_1>
            </EPOD_CONTAINER>
          </EPOD_CONTAINERS>
        </EPOD_JOB>
      </EPOD_JOBS>
    </EPOD_LOAD>
  </EPOD_LOADS>
</EPOD_IMPORT>

Sending Mechanism

The system provides web services for importing data. There are two mechanisms:

  • Passing the data as a string, through Web Service EPOD_dataservice.asmx
  • Passing the data as an XML object, through EPOD_dataservice2.asmx

The IP or web address of the CALIDUS EPOD server is not mapped into the Partnerlink network at this time, so the exact URL is unknown. This will be confirmed at a later date, for testing purposes.

For each data service, data can be sent via multiple methods, as shown below:

  • EPOD_dataservice.asmx

SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

POST /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_IMPORT"

<?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_IMPORT xmlns="ePOD_DataService">
      <IMPORT>string</IMPORT>
    </EPOD_XML_IMPORT>
  </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_IMPORTResponse xmlns="ePOD_DataService">
      <EPOD_XML_IMPORTResult>string</EPOD_XML_IMPORTResult>
    </EPOD_XML_IMPORTResponse>
  </soap:Body>
</soap:Envelope>

SOAP 1.2

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

POST /webservices/dataservice/EPOD_dataservice.asmx HTTP/1.1
Host: www.calidus-web.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <EPOD_XML_IMPORT xmlns="ePOD_DataService">
      <IMPORT>string</IMPORT>
    </EPOD_XML_IMPORT>
  </soap12:Body>
</soap12:Envelope>

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

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <EPOD_XML_IMPORTResponse xmlns="ePOD_DataService">
      <EPOD_XML_IMPORTResult>string</EPOD_XML_IMPORTResult>
    </EPOD_XML_IMPORTResponse>
  </soap12:Body>
</soap12:Envelope>

HTTP GET

The following is a sample HTTP GET request and response. The placeholders shown need to be replaced with actual values.

GET /webservices/dataservice/EPOD_dataservice.asmx/EPOD_XML_IMPORT?IMPORT=string HTTP/1.1
Host: www.calidus-web.com

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

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="ePOD_DataService">string</string>

HTTP POST

The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.

POST /webservices/dataservice/EPOD_dataservice.asmx/EPOD_XML_IMPORT HTTP/1.1
Host: www.calidus-web.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length

IMPORT=string

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

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="ePOD_DataService">string</string>
  • EPOD_dataservice2.asmx

SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

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

<?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_IMPORT xmlns="ePOD_DataService">
      <IMPORT>xml</IMPORT>
    </EPOD_XML_IMPORT>
  </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_IMPORTResponse xmlns="ePOD_DataService">
      <EPOD_XML_IMPORTResult>xml</EPOD_XML_IMPORTResult>
    </EPOD_XML_IMPORTResponse>
  </soap:Body>
</soap:Envelope>

SOAP 1.2

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

POST /webservices/dataservice/EPOD_dataservice2.asmx HTTP/1.1
Host: www.calidus-web.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <EPOD_XML_IMPORT xmlns="ePOD_DataService">
      <IMPORT>xml</IMPORT>
    </EPOD_XML_IMPORT>
  </soap12:Body>
</soap12:Envelope>

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

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <EPOD_XML_IMPORTResponse xmlns="ePOD_DataService">
      <EPOD_XML_IMPORTResult>xml</EPOD_XML_IMPORTResult>
    </EPOD_XML_IMPORTResponse>
  </soap12:Body>
</soap12:Envelope>

Processing Responses

The response data is an XML file (either string data or an XML object), as shown in the calling methods above. The result is governed by a schema, in the same way that the import files are. All XSD schemas will be provided to you.

The import processor will validate the entire file to the import schema. If this fails, the file will be rejected - all errors found will be exported in the response file.

If the pre-process is successful, each record will then be attempted to be loaded. If any of these fail for any reason, the discovered error will be reported in the response file.

If the loading of all records proceeds without an issue, the acknowledged response will be sent.

Note Note: It is not recommended to attempt to resend files unless the errors have been investigated and resolved. This is the responsibility of the sending system or the users of that system to do this.

Note Note: It is recommended that this XML Response fragment is stored for later auditing of potential issues.

Note Note: The Result and Error tags will not be checked for content, only structure. Therefore these tags can contain any informative data that the producing system deems adequate for identifying issues.

An example of an Success and Failure response to an import into CALIDUS EPOD are shown below:

<EPOD_IMPORT_RESPONSE RESULT="NAK">
    <ERRORS>
        <ERROR error="The element 'EPOD_LOAD' has invalid child element 'EPL_SITE_IDX'. List of possible elements expected: 'EPL_SITE_ID'." exception="System.Xml.Schema.XmlSchemaValidationException: The element 'EPOD_LOAD' has invalid child element 'EPL_SITE_IDX'. List of possible elements expected: 'EPL_SITE_ID'."/>
    </ERRORS>
</EPOD_IMPORT_RESPONSE>
<EPOD_IMPORT_RESPONSE RESULT="ACK">
    <RESULTS>
        <RESULT>
            <ID>Load: LOAD001</ID>
            <STATUS>Status: Load updated and at status C</STATUS>
        </RESULT>
        <RESULT>
            <ID>Job: JOB001</ID>
            <STATUS>Status: Job updated and at status P</STATUS>
        </RESULT>
        <RESULT>
            <ID>EPOD_CUSTOMER: Cust001</ID>
            <STATUS>Status: EPOD_CUSTOMER Updated</STATUS>
        </RESULT>
        <RESULT>
            <ID>Container: JOB001-01</ID>
            <STATUS>Status: Container created on Job: JOB001</STATUS>
        </RESULT>
        <RESULT>
            <ID>Container: JOB001-02</ID>
            <STATUS>Status: Container created on Job: JOB001</STATUS>
        </RESULT>
        <RESULT>
            <ID>Container: JOB001-03</ID>
            <STATUS>Status: Container created on Job: JOB001</STATUS>
        </RESULT>
        <RESULT>
            <ID>Job: JOB002</ID>
            <STATUS>Status: Job updated and at status X</STATUS>
        </RESULT>
        <RESULT>
            <ID>EPOD_CUSTOMER: Cust001</ID>
            <STATUS>Status: EPOD_CUSTOMER Updated</STATUS>
        </RESULT>
        <RESULT>
            <ID>Container: JOB002-01</ID>
            <STATUS>Status: Container created on Job: JOB002</STATUS>
        </RESULT>
        <RESULT>
            <ID>Container: JOB002-02</ID>
            <STATUS>Status: Container created on Job: JOB002</STATUS>
        </RESULT>
        <RESULT>
            <ID>Container: JOB002-03</ID>
            <STATUS>Status: Container created on Job: JOB002</STATUS>
        </RESULT>
    </RESULTS>
</EPOD_IMPORT_RESPONSE>

Importing into CALIDUS EPOD

Note Note: This information is specified in detail in another document, but the bulleted information is listed here for completeness.

The import into CALIDUS EPOD will be modified as follows:

  • Vehicle ID will be created in advance on the load
  • If the vehicle does not exist, one will be created with basic information
  • The Vehicle data will be modified to hold whether this vehicle is a tractor.
  • If vehicles are created through the import and a trailer ID is identified against the vehicle, the vehicle will be marked as a tractor, requiring Trailer entry.
  • The Load and Jobs data will be modified to hold the trailer ID against them.

CALIDUS EPOD Export Process

A process runs on a timed schedule within the CALIDUS EPOD application, to pick up any jobs that have been completed and export them to external systems.

The system be configured to ensure that updates are sent.

The exporting of this data will be modified to include:

  • Entered Trailer ID (at Job level).
  • Clause information (per pallet)

Note Note: Trailer ID and Clause modifications are out of scope of the existing solution being provided, but have been added here so that the systems can be prepared to handle this functionality when it becomes available.

CALIDUS EPOD Export Message Content

A basic list if all the fields in the interface for Job follows. A full spreadsheet of all the export flows and fields containing all the limitations on length and defaulted values is provided separately.

EPOD_JOB

NameDescriptionExternal FieldNotes
EPL_SITE_IDUnique Reference for the Site that the Job belongs topartner codeThis will be the Partner ID
EPL_JOB_IDUnique reference for the job. If not provided on Import, this will be generated by EPOD N/A
EPL_LOAD_IDUnique Reference for the Load that the Job belongs to. If not provided, defaulted from the enclosing EPOD_LOADManifest_NoAs Sent
EPL_JOB_TYPED=Delivery, C=Collection, S=Service"D" or "C"As Sent
EPL_JOB_GROUP partner codeThis will be the Partner ID
EPL_JOB_INSTRUCTIONInstructions for the DriverNotes1+Notes2As Sent
EPL_JOB_SIGNATUREThe signature taken from the customer when the job was completed. This is in the form of a Base64-encrypted Jpeg file x
EPL_REASON_CODEIf a job has been cancelled, the reason code entered by the user is held here. x
EPL_LINKED_REASONIf the job is a delivery, and a collection of the same load with the same EPL_JOB_CODE is cancelled, this delivery will be cancelled, and this field will be set to "Y" N/A
EPL_STATUSC- complete, X cancelled x
EPL_CUSTOMER_CODECustomer Code from external system. If not provided, one will be generated from EPL_CUSTOMER_NAMEAccount_CodeAs Sent
EPL_PHOTO_IDIf cancelled, a photo may have been taken by the user. If so, this field is populated with a unique ID. x
EPL_PHOTOThe photo taken for the exception. This is in the form of a Base64-encrypted Jpeg file x
EPL_ENG_SIGNATUREThe signature taken from the driver/engineer when the job was completed, if required. This is in the form of a Base64-encrypted Jpeg file x
EPL_SEQUENCEThe sequence of the job. This could be the sequence sent on Import, a pre-defined sequence (if one was not provided) or a user-changed value (if enabled)  
EPL_START_PLANNED_DATE Del_DateAs Sent
EPL_START_PLANNED_TIME TimeAs Sent
EPL_END_PLANNED_DATE Del_DateAs Sent
EPL_END_PLANNED_TIME TimeAs Sent
EPL_START_ACTUAL_DATEThe date the user actually chose to start the job. Format: YYYYMMDD x
EPL_START_ACTUAL_TIMEThe time the user actually chose to start the job. Format HHMMSSNN x
EPL_ARRIVED_DATE_TIMEThe date the user indicated they arrived at the destination. Format: YYYYMMDD x
EPL_ARRIVED_DATE_TIMEThe time the user indicated they arrived at the destination. Format HHMMSSNN x
EPL_END_ACTUAL_DATEThe date the user completed or cancelled the job. Format: YYYYMMDD x
EPL_END_ACTUAL_TIMEThe time the user completed or cancelled the job. Format HHMMSSNN x
EPL_DISTANCE_PLANNED  N/A
EPL_DISTANCE_ACTUAL  N/A
EPL_DRIVING_TIME  N/A
EPL_CUSTOMER_NAMEThe Name of the customerDel_NameAs Sent
EPL_JOB_ADDRESSA flag indicating whether this is a default Customer Address or a specific address for this job alone. N/A
EPL_ADDRESS_1 Del_addr1As Sent
EPL_ADDRESS_2 Del_addr2As Sent
EPL_ADDRESS_3 Del_addr3As Sent
EPL_ADDRESS_4 Del_addr4As Sent
EPL_ADDRESS_5  N/A
EPL_POSTCODE Del_postAs Sent
EPL_CONTACT Del_postAs Sent
EPL_TELEPHONE  As Sent
EPL_EMAIL  As Sent
EPL_INVOICED  N/A
EPL_CUST_SIGNATORYThe name of the customer signatory on the job. x
EPL_JOB_CODEExternal reference for the Job. This element can be used to link a collection and delivery together under the same reference. So, if an order is being collected at A and delivered at B, there are 2 jobs, each with a unique Job ID, but with the same Job Code. Optionally, EPOD will keep the Delivery leg of a linked job updated with the information captured from the collection.Ref1As Sent
EPL_CUST_REFCustomer's Order ReferenceRef2As Sent
EPL_OFFICE_INSTRUCTIONInstructions for Admin staffNotes3+Notes4As Sent
EPL_SIGNED_UNCHECKEDAn indication whether the customer signed for the goods without checking them first. Note that this field can be used for any check-box entry, as this is configurable. x
EPL_SO_NUMBERSales Order Reference.Ref3As Sent
EPL_TNCSAn XML fragment, displaying the Terms and Conditions agreed to by the customer when signing for the goods. This can also include up to 3 configurable check-boxes that the user may check. x
EPL_ORDER_DATEDate Order created - defaulted to the date the order was received if not provided N/A
EPL_SALES_CONTACTThe operative who took the order. Can be used as a display field for documentation N/A
EPL_USER_NOTESOptional Notes entered by the driver while completing the job. x
EPL_OWNER_NAME (owning) partner codeNeed to set this as partner owning job.
EPL_SERVICE_LEVEL  N/A
EPL_TRAILER_IDTo be used if the vehicle being used to fulfil the job is a Tractor unit, and a trailer ID has been entered by the user. x
EPL_LAST_CHANGED_DATE  N/A
EPL_LAST_CHANGED_TIME  N/A
EPOD_CONTAINERSContains a series of EPOD_CONTAINER objects, detailing all the deliverable items on this load. If there are loose products, there will also be a container with ID '000000000' holding these products. A collection of pallets that were part of the job, plus the status.
EPOD_SERVICEIf the job is a Service, this object holds all the service-related information. In that case, no containers or products will be specified against the job. N/A

EPOD_CONTAINER

NameDescriptionExternal FieldNotes
EPL_JOB_IDUnique reference for the job. If not provided on Import, this will be generated by EPOD  
EPL_CONTAINER_IDEPL_CONTAINER_ID: The unique identifier for a cotainer.Label_IDActually from the tracking id (an id for each pallet to be delivered).
EPL_SEQUENCEA sequence for the containers to be shown on the user's device. As Sent
EPL_CONTAINER_PACKAGE_CODE EF/EH/EQ/SF/SH/SQAs Sent
EPL_CONTAINER_PACKAGE_DESC EURO FULL, etcAs Sent
EPL_REASON_CODEIf a job has been cancelled, the reason code entered by the user is held here. x
EPL_LINKED_REASONIf the job is a delivery, and a collection of this container on the same load with the same EPL_JOB_CODE is cancelled, this container will be cancelled, and this field will be set to "Y" x
EPL_STATUSEPL_STATUS: Status of the current Container. C-Completed, X-Cancelled. x
EPL_PHOTO_IDIf cancelled, or received with a clause, a photo may have been taken by the user. If so, this field is populated with a unique ID. x
EPL_PHOTOThe photo taken for the exception. This is in the form of a Base64-encrypted Jpeg file x
EPL_CUST_COMMENTSOptional entry by the user, indicating whether the customer has identified an issue with the received item (a claused receipt). If present, the customer may have requested an image, which would be contained in EPL_PHOTO.  
EPL_DESCRIPTION_LONG  As Sent
EPL_CODE_1Multi-purpose fieldSpacesAs Sent
EPL_CODE_2Multi-purpose field As Sent
EPL_CODE_3Multi-purpose field As Sent
EPL_LAST_CHANGED_DATE  N/A
EPL_LAST_CHANGED_TIME  N/A
EPOD_PRODUCTSContains a series of EPOD_PRODUCTS objects, detailing the products within the container, or loose products N/A

Note Note: Fields identified with an 'x' are expected to be stored within the Vigo system. Neither the Partnerlink nor OBS teams know which fields are in use within Vigo to store this data, but this must be stored by the application.

Note Note: Regarding Signature and Photo data formats in this message: This data is stored and transmitted as a text string, Base64-encrypted. This data can be decoded and saved as binary data once received if required.

A sample of a single job with a single pallet is shown below:

<EPOD_EXPORT_JOB>
  <EPOD_JOBS>
    <EPOD_JOB>
      <EPL_SITE_ID>L03</EPL_SITE_ID>
      <EPL_JOB_ID>0000000001</EPL_JOB_ID>
      <EPL_LOAD_ID>000000000002</EPL_LOAD_ID>
      <EPL_JOB_TYPE>D</EPL_JOB_TYPE>
      <EPL_JOB_GROUP>L03</EPL_JOB_GROUP>
      <EPL_JOB_INSTRUCTION>Very Fragile Parcel..Please handle with Care</EPL_JOB_INSTRUCTION>
      <EPL_JOB_SIGNATURE>R0lGODlh4AB4APcA...NKdJTY4EBAA7</EPL_JOB_SIGNATURE>
      <EPL_REASON_CODE></EPL_REASON_CODE>
      <EPL_LINKED_REASON>N</EPL_LINKED_REASON>
      <EPL_STATUS>C</EPL_STATUS>
      <EPL_CUSTOMER_CODE>OBS</EPL_CUSTOMER_CODE>
      <EPL_PHOTO_ID></EPL_PHOTO_ID>
      <EPL_ENG_SIGNATURE></EPL_ENG_SIGNATURE>
      <EPL_SEQUENCE>1</EPL_SEQUENCE>
      <EPL_START_PLANNED_DATE>20111108</EPL_START_PLANNED_DATE>
      <EPL_START_PLANNED_TIME>12000000</EPL_START_PLANNED_TIME>
      <EPL_END_PLANNED_DATE>0</EPL_END_PLANNED_DATE>
      <EPL_END_PLANNED_TIME>0</EPL_END_PLANNED_TIME>
      <EPL_START_ACTUAL_DATE>20111108</EPL_START_ACTUAL_DATE>
      <EPL_START_ACTUAL_TIME>10490000</EPL_START_ACTUAL_TIME>
      <EPL_END_ACTUAL_DATE>20111108</EPL_END_ACTUAL_DATE>
      <EPL_END_ACTUAL_TIME>10520000</EPL_END_ACTUAL_TIME>
      <EPL_DISTANCE_PLANNED>0</EPL_DISTANCE_PLANNED>
      <EPL_DISTANCE_ACTUAL>0</EPL_DISTANCE_ACTUAL>
      <EPL_DRIVING_TIME>0</EPL_DRIVING_TIME>
      <EPL_CUSTOMER_NAME>OBS Logistics</EPL_CUSTOMER_NAME>
      <EPL_JOB_ADDRESS>N</EPL_JOB_ADDRESS>
      <EPL_ADDRESS_1>Southern Gateway</EPL_ADDRESS_1>
      <EPL_ADDRESS_2>Speke Boulevard</EPL_ADDRESS_2>
      <EPL_ADDRESS_3>Liverpool</EPL_ADDRESS_3>
      <EPL_ADDRESS_4>Merseyside</EPL_ADDRESS_4>
      <EPL_ADDRESS_5></EPL_ADDRESS_5>
      <EPL_POSTCODE>L24 9HZ</EPL_POSTCODE>
      <EPL_CONTACT>Xavier Wai</EPL_CONTACT>
      <EPL_TELEPHONE>01514480331</EPL_TELEPHONE>
      <EPL_EMAIL>[email protected]</EPL_EMAIL>
      <EPL_INVOICED></EPL_INVOICED>
      <EPL_CUST_SIGNATORY></EPL_CUST_SIGNATORY>
      <EPL_JOB_CODE>L03</EPL_JOB_CODE>
      <EPL_CUST_REF></EPL_CUST_REF>
      <EPL_OFFICE_INSTRUCTION></EPL_OFFICE_INSTRUCTION>
      <EPL_SIGNED_UNCHECKED></EPL_SIGNED_UNCHECKED>
      <EPL_SO_NUMBER></EPL_SO_NUMBER>
      <EPL_TNCS></EPL_TNCS>
      <EPL_ORDER_DATE>0</EPL_ORDER_DATE>
      <EPL_SALES_CONTACT></EPL_SALES_CONTACT>
      <EPL_USER_NOTES></EPL_USER_NOTES>
      <EPL_OWNER_NAME></EPL_OWNER_NAME>
      <EPL_SERVICE_LEVEL></EPL_SERVICE_LEVEL>
      <EPL_TRAILER_ID></EPL_TRAILER_ID>
      <EPL_LAST_CHANGED_DATE>20120314</EPL_LAST_CHANGED_DATE>
      <EPL_LAST_CHANGED_TIME>9420098</EPL_LAST_CHANGED_TIME>
      <EPOD_CONTAINERS>
        <EPOD_CONTAINER>
          <EPL_SITE_ID>L03</EPL_SITE_ID>
          <EPL_JOB_ID>0000000001</EPL_JOB_ID>
          <EPL_CONTAINER_ID>000000000000001</EPL_CONTAINER_ID>
          <EPL_SEQUENCE>0</EPL_SEQUENCE>
          <EPL_CONTAINER_PACKAGE_CODE>XX</EPL_CONTAINER_PACKAGE_CODE>
          <EPL_CONTAINER_PACKAGE_DESC>Pallet</EPL_CONTAINER_PACKAGE_DESC>
          <EPL_REASON_CODE></EPL_REASON_CODE>
          <EPL_LINKED_REASON></EPL_LINKED_REASON>
          <EPL_STATUS>C</EPL_STATUS>
          <EPL_PHOTO_ID></EPL_PHOTO_ID>
          <EPL_CUST_COMMENTS></EPL_CUST_COMMENTS>
          <EPL_GROSS_WEIGHT>120</EPL_GROSS_WEIGHT>
          <EPL_DESCRIPTION_LONG></EPL_DESCRIPTION_LONG>
          <EPL_CODE_1>1</EPL_CODE_1>
          <EPL_CODE_2></EPL_CODE_2>
          <EPL_CODE_3></EPL_CODE_3>
          <EPL_LAST_CHANGED_DATE>20120614</EPL_LAST_CHANGED_DATE>
          <EPL_LAST_CHANGED_TIME>16362322</EPL_LAST_CHANGED_TIME>
        </EPOD_CONTAINER>
      </EPOD_CONTAINERS>
      <EPOD_SERVICES></EPOD_SERVICES>
    </EPOD_JOB>
  </EPOD_JOBS>
</EPOD_EXPORT_JOB>

Note Note: The signature has been shortened for the purposes of this document.

CALIDUS EPOD Export Mechanism

The system will be configured to send to a web service, requiring a string (rather than an XML object) input.

The identity of the web service will be defined by the Vigo team as part of this development.

Each job will be sent independently, resulting in a single call to the external web service to add this job.

When the file is received and processed by the web service, the system expects the web service to respond in the format, as shown in previous sections. The exact same format and structure should be used as described here. The content may be as detailed as required by the Vigo system.

Appendix A: Document References

A.1 References

Ref NoDocument Title & IDVersionDate
1EPOD Import Mapping v0.3.xlsx0.325/01/2013
2EPOD Export Mapping v0.5.xlsx0.525/01/2013
3EPOD XSD.zipN/A25/01/2013


A.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.


A.3 Authorised By


Andrew Allison

Client Representative
_____________________________