<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?action=history&amp;feed=atom&amp;title=FS_328407_EPOD-TTM_Interface_Changes</id>
	<title>FS 328407 EPOD-TTM Interface Changes - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?action=history&amp;feed=atom&amp;title=FS_328407_EPOD-TTM_Interface_Changes"/>
	<link rel="alternate" type="text/html" href="https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=FS_328407_EPOD-TTM_Interface_Changes&amp;action=history"/>
	<updated>2026-07-01T22:54:23Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=FS_328407_EPOD-TTM_Interface_Changes&amp;diff=2233&amp;oldid=prev</id>
		<title>Anw: v0.3 - Added new functionality and fixes required.</title>
		<link rel="alternate" type="text/html" href="https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=FS_328407_EPOD-TTM_Interface_Changes&amp;diff=2233&amp;oldid=prev"/>
		<updated>2015-08-14T11:51:54Z</updated>

		<summary type="html">&lt;p&gt;v0.3 - Added new functionality and fixes required.&lt;/p&gt;
&lt;a href=&quot;https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=FS_328407_EPOD-TTM_Interface_Changes&amp;amp;diff=2233&amp;amp;oldid=2220&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Anw</name></author>
	</entry>
	<entry>
		<id>https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=FS_328407_EPOD-TTM_Interface_Changes&amp;diff=2220&amp;oldid=prev</id>
		<title>Anw: v0.2 - Extended cost to add integration testing element</title>
		<link rel="alternate" type="text/html" href="https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=FS_328407_EPOD-TTM_Interface_Changes&amp;diff=2220&amp;oldid=prev"/>
		<updated>2015-08-11T13:57:48Z</updated>

		<summary type="html">&lt;p&gt;v0.2 - Extended cost to add integration testing element&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:57, 11 August 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{#vardefine:System|''CALIDUS'' ePOD}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{#vardefine:System|''CALIDUS'' ePOD}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{#vardefine:Doc_Title|EPOD-TTM Interface Changes}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{#vardefine:Doc_Title|EPOD-TTM Interface Changes}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{#vardefine:Version|0.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1&lt;/del&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{#vardefine:Version|0.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2&lt;/ins&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{#vardefine:Date|11th August 2015}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{#vardefine:Date|11th August 2015}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{#vardefine:Reference|328407}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{#vardefine:Reference|328407}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l401&quot;&gt;Line 401:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 401:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|TS=0&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|TS=0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|DEV=4.75&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|DEV=4.75&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|ST=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;0&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;75&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|ST=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;00&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|IMP=0&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|IMP=0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|PM=0.25&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|PM=0.25&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Anw</name></author>
	</entry>
	<entry>
		<id>https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=FS_328407_EPOD-TTM_Interface_Changes&amp;diff=2218&amp;oldid=prev</id>
		<title>Anw: moved 328407 EPOD-TTM Interface Changes to FS 328407 EPOD-TTM Interface Changes</title>
		<link rel="alternate" type="text/html" href="https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=FS_328407_EPOD-TTM_Interface_Changes&amp;diff=2218&amp;oldid=prev"/>
		<updated>2015-08-11T13:52:31Z</updated>

		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/calidus-assist/OBS/index.php/328407_EPOD-TTM_Interface_Changes&quot; class=&quot;mw-redirect&quot; title=&quot;328407 EPOD-TTM Interface Changes&quot;&gt;328407 EPOD-TTM Interface Changes&lt;/a&gt; to &lt;a href=&quot;/calidus-assist/OBS/index.php/FS_328407_EPOD-TTM_Interface_Changes&quot; title=&quot;FS 328407 EPOD-TTM Interface Changes&quot;&gt;FS 328407 EPOD-TTM Interface Changes&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:52, 11 August 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en-GB&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Anw</name></author>
	</entry>
	<entry>
		<id>https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=FS_328407_EPOD-TTM_Interface_Changes&amp;diff=2217&amp;oldid=prev</id>
		<title>Anw: v0.1 - Initial draft.</title>
		<link rel="alternate" type="text/html" href="https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=FS_328407_EPOD-TTM_Interface_Changes&amp;diff=2217&amp;oldid=prev"/>
		<updated>2015-08-11T13:49:58Z</updated>

		<summary type="html">&lt;p&gt;v0.1 - Initial draft.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;div class=&amp;quot;noprint&amp;quot;&amp;gt;&lt;br /&gt;
{{#vardefine:Client|PROD}}&lt;br /&gt;
{{#vardefine:ClientName|OBS Logistics Ltd}}&lt;br /&gt;
{{#vardefine:System|''CALIDUS'' ePOD}}&lt;br /&gt;
{{#vardefine:Doc_Title|EPOD-TTM Interface Changes}}&lt;br /&gt;
{{#vardefine:Version|0.1}}&lt;br /&gt;
{{#vardefine:Date|11th August 2015}}&lt;br /&gt;
{{#vardefine:Reference|328407}}&lt;br /&gt;
{{#vardefine:Year|2015}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Doc_Title&lt;br /&gt;
|Client={{#var:ClientName}}&lt;br /&gt;
|System={{#var:System}}&lt;br /&gt;
|Title={{#var:Doc_Title}}&lt;br /&gt;
|Reference=FS {{#var:Reference}}&lt;br /&gt;
|Version={{#var:Version}}&lt;br /&gt;
|Date={{#var:Date}}&lt;br /&gt;
|Year={{#var:Year}}&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TOC --&amp;gt; &lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot;&amp;gt;&lt;br /&gt;
= Functional Overview =&lt;br /&gt;
&lt;br /&gt;
== Client Requirement ==&lt;br /&gt;
As identified for Cooper Callas contract, EPOD-TTM interface must change to pass in the correct level of information, mapped correctly.&lt;br /&gt;
&lt;br /&gt;
Cooper Callas want to use ''CALIDUS'' Portal TTM for customer service, transport and reporting purposes, but also for the customers to track their package through the Customer Tracking Gateway. This is similar to what was developed for PORTAL TMS, but works of TTM data, and already exists.&lt;br /&gt;
&lt;br /&gt;
The problem with the EPOD TTM interface is that the customer's reference is never passed to TTM from EPOD.&lt;br /&gt;
&lt;br /&gt;
The system currently maps TMS_REF as EPL_JOB_ID, and SO_REF as EPL_JOB_CODE. This is as per the Partnerlink interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Solution Overview  ==&lt;br /&gt;
The interface must be amended to pass this information in, and to ensure that the orders are interfaced only once with the correct address information.&lt;br /&gt;
&lt;br /&gt;
The system currently maps TMS_REF as EPL_JOB_CODE, and SO_REF as EPL_JOB_ID. This is as per the Partnerlink interface.&lt;br /&gt;
&lt;br /&gt;
This needs to be amended to be TMS_REF as EPL_JOB_CODE, and SO_REF as EPL_CUST_REF.&lt;br /&gt;
&lt;br /&gt;
Additionally, the following reference fields should be populated where possible in the XML:&lt;br /&gt;
*	PO_REF - EPL_SO_NUMBER&lt;br /&gt;
*	BOOK_REF - EPL_EXT_REF&lt;br /&gt;
Note: If we have no data in these other fields, the tags should not be added.&lt;br /&gt;
&lt;br /&gt;
Due to the way that ORD messages are saved in TTM, this means that several other changes must also be made:&lt;br /&gt;
*	Change to set the DEP and DEL messages correctly from the original collection location and ultimate destination&lt;br /&gt;
*	Only send one ORD to TTM per External reference (EPL_CUST_REF if populated, else EPL_JOB_CODE), not one per job.&lt;br /&gt;
&lt;br /&gt;
Additionally, a new message type of &amp;quot;COL&amp;quot; should be written, when confirming and order has been collected (i.e. the job type is &amp;quot;C&amp;quot; - Collection).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''CALIDUS'' Portal system should be modified to allow a configuration to call the correct POD/POC note through the Site, Job Code and Job Type, where the Job Code is set from the TMS Reference. This will be through configuration of the PODPOC URL to be type &amp;quot;EPOD3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Scope  ==&lt;br /&gt;
The changes will be made to the latest version (version 3) of {{#var:System}}.&lt;br /&gt;
&lt;br /&gt;
The processes below have been validated for a range of different scenarios, namely:&lt;br /&gt;
* Cross-dock with and without loading/unloading at the depot&lt;br /&gt;
* Radial collect with and without unloading at the depot&lt;br /&gt;
* Radial delivery with and without loading at the depot&lt;br /&gt;
These processes are validated ''if'' the TMS reference and customer reference are unique for that whole transport instruction, and ''if'' the customer reference and TMS reference change to new values for attempted redelivery (rebooking) or partial delivery (part pick).&lt;br /&gt;
&lt;br /&gt;
For ''CALIDUS'' ePOD, if the system is provided original collection and final delivery locations on the first and last job, this will work. Without these, the system is dependent on whether the TMS processes and plans the sequence of jobs and times correctly, which in some cases may not be true.&lt;br /&gt;
&lt;br /&gt;
{{Note}} For customers who only send Collection jobs to ''CALIDUS'' ePOD, those orders will look incomplete on ''CALIDUS'' Portal, as they will never be seen to have been delivered.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- NEW PAGE --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
= Set-up  =&lt;br /&gt;
&lt;br /&gt;
== Pre-requisites  ==&lt;br /&gt;
&lt;br /&gt;
== Menu Structure  ==&lt;br /&gt;
&lt;br /&gt;
== Data  ==&lt;br /&gt;
A ''CALIDUS'' ePOD Remote user must be configured within the system, and it must have access to the Site being used for testing.&lt;br /&gt;
&lt;br /&gt;
The ''CALIDUS'' Portal system should be modified to allow a configuration to call the correct POD/POC note through the Site, Job Code and Job Type, where the Job Code is set from the TMS Reference. This will be through configuration of the PODPOC URL to be type &amp;quot;EPOD3&amp;quot;. The EPOD Webservice and user and password must also be configured correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- NEW PAGE --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
= Description of Changes =&lt;br /&gt;
&lt;br /&gt;
== Database/DAL ==&lt;br /&gt;
Add index IX_EPOD_JOB_CODE_REF on table EPOD_JOB, using the following fields:&lt;br /&gt;
* EPL_SITE_ID&lt;br /&gt;
* EPL_JOB_CODE&lt;br /&gt;
* EPL_CUST_REF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Modify the existing database package EPOD_XFER_SELECT_TTM, to sort the retrieved records by EPL_SITE_ID, EPL_JOB_CODE, EPL_CUST_REF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A new database package EPOD_XFER_SELECT_JOB_ADDRESSES_TTM will be created. This new database procedure will return a recordset of up to two job addresses, a DEP address and a DEL address.&lt;br /&gt;
&lt;br /&gt;
The procedure will receive the following parameters - all are required:&lt;br /&gt;
* EPL_SITE_ID&lt;br /&gt;
* EPL_JOB_ID&lt;br /&gt;
* EPL_JOB_CODE &lt;br /&gt;
* EPL_CUST_REF&lt;br /&gt;
The procedure will do the following:&lt;br /&gt;
* Get 1 distinct EPOD_JOB_ADDRESS record for each EPL_JOB_TYPE = &amp;quot;F&amp;quot; or &amp;quot;O&amp;quot; for any jobs with the specified EPL_SITE_ID, EPL_JOB_CODE and EPL_CUST_REF.&lt;br /&gt;
* Store the records found to be returned to the calling process.&lt;br /&gt;
* If there is not a record for either EPL_JOB_TYPE = &amp;quot;F&amp;quot; or &amp;quot;O&amp;quot;&lt;br /&gt;
** Select all EPOD_JOB records with the specified EPL_SITE_ID, EPL_JOB_CODE and EPL_CUST_REF, ordered by EPL_START_PLANNED_DATE, EPL_START_PLANNED_TIME, &lt;br /&gt;
** If no EPL_JOB_TYPE &amp;quot;O&amp;quot; record has been found:&lt;br /&gt;
*** Select the EPOD_JOB_ADDRESS of the first collection job, selecting the job and address for EPL_JOB_TYPE = &amp;quot;C&amp;quot;. If found, store this record to be returned to the calling process, with EPL_JOB_TYPE set to &amp;quot;O&amp;quot;. &lt;br /&gt;
*** If no EPO_JOB_ADDRESS if found for the first collection job, select the EPOD_CUSTOMER record for this job. This record should be selected as if it were an EPOD_JOB_ADDRESS record of EPL_JOB_TYPE = &amp;quot;O&amp;quot;, with all fields named accordingly - see notes later.&lt;br /&gt;
*** Store this record to be returned to the calling process.&lt;br /&gt;
** If no EPL_JOB_TYPE &amp;quot;F&amp;quot; record has been found:&lt;br /&gt;
*** Select the EPOD_JOB_ADDRESS of the last delivery job, selecting the job and address for EPL_JOB_TYPE = &amp;quot;D&amp;quot;. If found, store this record to be returned to the calling process, with EPL_JOB_TYPE set to &amp;quot;F&amp;quot;. &lt;br /&gt;
*** If no EPO_JOB_ADDRESS if found for the last delivery job, select the EPOD_CUSTOMER record for this job. This record should be selected as if it were an EPOD_JOB_ADDRESS record of EPL_JOB_TYPE = &amp;quot;F&amp;quot;, with all fields named accordingly - see notes later.&lt;br /&gt;
*** Store this record to be returned to the calling process.&lt;br /&gt;
&lt;br /&gt;
All stored records should then be returned to the calling process.&lt;br /&gt;
&lt;br /&gt;
{{Note}} EPOD_CUSTOMER records selected by this process should be mapped as follows:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;silver&amp;quot;&lt;br /&gt;
!EPOD_JOB_ADDRESS	!!EPOD_CUSTOMER&lt;br /&gt;
|-&lt;br /&gt;
|EPL_SITE_ID    ||EPL_SITE_ID&lt;br /&gt;
|-&lt;br /&gt;
|EPL_JOB_ID ||Null&lt;br /&gt;
|-&lt;br /&gt;
|EPL_ADDRESS_1  ||EPL_ADDRESS_1&lt;br /&gt;
|-&lt;br /&gt;
|EPL_ADDRESS_2  ||EPL_ADDRESS_2&lt;br /&gt;
|-&lt;br /&gt;
|EPL_ADDRESS_3  ||EPL_ADDRESS_3&lt;br /&gt;
|-&lt;br /&gt;
|EPL_ADDRESS_4  ||EPL_ADDRESS_4&lt;br /&gt;
|-&lt;br /&gt;
|EPL_ADDRESS_5  ||EPL_ADDRESS_5&lt;br /&gt;
|-&lt;br /&gt;
|EPL_POSTCODE   ||EPL_POSTCODE&lt;br /&gt;
|-&lt;br /&gt;
|EPL_CONTACT    ||EPL_CONTACT&lt;br /&gt;
|-&lt;br /&gt;
|EPL_TELEPHONE  ||EPL_TELEPHONE&lt;br /&gt;
|-&lt;br /&gt;
|EPL_EMAIL  ||EPL_EMAIL&lt;br /&gt;
|-&lt;br /&gt;
|EPL_LAST_CHANGED_DATE  ||EPL_LAST_CHANGED_DATE&lt;br /&gt;
|-&lt;br /&gt;
|EPL_LAST_CHANGED_TIME  ||EPL_LAST_CHANGED_TIME&lt;br /&gt;
|-&lt;br /&gt;
|EPL_JOB_TYPE   ||As Directed Above&lt;br /&gt;
|-&lt;br /&gt;
|EPL_NAME   ||EPL_CUSTOMER_NAME&lt;br /&gt;
|-&lt;br /&gt;
|EPL_ADDRESS_ID   ||EPL_CUSTOMER_ID&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EPOD_JOB ===&lt;br /&gt;
That is a change to procedure EPOD_JOB.ToXElementTTM. &lt;br /&gt;
&lt;br /&gt;
This needs to be amended to populate the references differently:&lt;br /&gt;
* TMS_REF populated with EPL_JOB_CODE&lt;br /&gt;
* SO_REF populated with EPL_CUST_REF if present, otherwise EPL_JOB_CODE.&lt;br /&gt;
The following tags should only be created if data exists in the indicated fields in EPOD_JOB:&lt;br /&gt;
*	PO_REF populated with EPL_SO_NUMBER&lt;br /&gt;
*	BOOK_REF populated with EPL_EXT_REF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additionally, the Delivery and Departure addresses must be populated differently.&lt;br /&gt;
&lt;br /&gt;
Two order header addresses should be built, one for DEP (the original collection location) and one for DEL (the ultimate delivery location).&lt;br /&gt;
&lt;br /&gt;
For DEP addresses, use the addresses in this sequence:&lt;br /&gt;
*	Use the Origin Job Address (type O) if this exists.&lt;br /&gt;
*	Use the Job Address of the first Collection Job if this exists.&lt;br /&gt;
*	Use the Customer Address of the customer of the first Collection Job if this exists.&lt;br /&gt;
*	If there is no collection job or no origin address, do not write this address.&lt;br /&gt;
&lt;br /&gt;
For DEL addresses:&lt;br /&gt;
*	Use the Final Destination Job Address (type F) if this exists.&lt;br /&gt;
*	Use the Job Address of the last Delivery Job if this exists.&lt;br /&gt;
*	Use the Customer Address of the customer of the last Delivery Job if this exists.&lt;br /&gt;
*	If there is no delivery job or no destination address, do not write this address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A new method to EPOD JOB, called AddressesToXElementTTM is only to be called for messages of type ORD, instead of existing call to EPOD_JOB.DeliveryAddressToXElementTTM from EPOD_JOB.ToXElementTTM.&lt;br /&gt;
&lt;br /&gt;
This will call the new database package EPOD_XFER_SELECT_JOB_ADDRESSES_TTM defined above, passing in EPL_SITE_ID, EPL_JOB_ID, EPL_JOB_CODE and EPL_CUST_REF from the EPOD_JOB DAL object. which will return the DEP and DEL addresses to be used. These will be loaded into a list of EPOD_JOB_ADDRESS DAL objects, from the values returned.&lt;br /&gt;
&lt;br /&gt;
The data will then be formatted into a single XML fragment to be returned, including both addresses (if present).&lt;br /&gt;
&lt;br /&gt;
For each address returned from the package, create an XML fragment as follows:&lt;br /&gt;
    &amp;lt;ORDER_HEADER_ADDRESS&amp;gt;&lt;br /&gt;
        &amp;lt;ADDRESS_TYPE&amp;gt;&amp;lt;/ADDRESS_TYPE&amp;gt;&lt;br /&gt;
        &amp;lt;ADDRESS_ID&amp;gt;&amp;lt;/ADDRESS_ID&amp;gt;&lt;br /&gt;
        &amp;lt;ADDRESS_NAME&amp;gt;&amp;lt;/ADDRESS_NAME&amp;gt;&lt;br /&gt;
        &amp;lt;ADDRESS_LINE_1&amp;gt;&amp;lt;/ADDRESS_LINE_1&amp;gt;&lt;br /&gt;
        &amp;lt;ADDRESS_LINE_2&amp;gt;&amp;lt;/ADDRESS_LINE_2&amp;gt;&lt;br /&gt;
        &amp;lt;ADDRESS_TOWN&amp;gt;&amp;lt;/ADDRESS_TOWN&amp;gt;&lt;br /&gt;
        &amp;lt;ADDRESS_POSTCODE&amp;gt;&amp;lt;/ADDRESS_POSTCODE&amp;gt;&lt;br /&gt;
    &amp;lt;/ORDER_HEADER_ADDRESS&amp;gt;&lt;br /&gt;
Each element will be populated as follows:&lt;br /&gt;
* ADDRESS_TYPE - DEP if EPL_JOB_TYPE = &amp;quot;O&amp;quot; or DEL if EPL_JOB_TYPE = &amp;quot;F&amp;quot; &lt;br /&gt;
* ADDRESS_ID - EPL_ADDRESS_ID&lt;br /&gt;
* ADDRESS_NAME - EPL_NAME&lt;br /&gt;
* ADDRESS_LINE_1 - EPL_ADDRESS_1&lt;br /&gt;
* ADDRESS_LINE_2 - EPL_ADDRESS_2&lt;br /&gt;
* ADDRESS_TOWN - EPL_ADDRESS_3&lt;br /&gt;
* ADDRESS_POSTCODE - EPL_POSTCODE&lt;br /&gt;
&lt;br /&gt;
The formatted XML of both addresses should be returned from this procedure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Auto Export ==&lt;br /&gt;
&lt;br /&gt;
=== ExportTTM ===&lt;br /&gt;
In EPOD_SYS_EXPORT.ExportTTM, ORD messages are sent by retrieving all EPOD_JOB records that require sending, though the existing procedure EPOD_JOB_XFCONFIG.GetJobsXferTTM, calling database package EPOD_XFER_SELECT_TTM. This procedure will be modified as part of this change to order the data by EPL_SITE_ID, EPL_JOB_CODE and EPL_CUST_REF.&lt;br /&gt;
&lt;br /&gt;
The procedure loops through each record returned to send an ORD message (through existing procedure EPOD_SYS_EXPORT.ExportORD). This will be modified to store the last values of EPL_SITE_ID, EPL_JOB_CODE and EPL_CUST_REF that have had an ORD message sent this run (starting as null values). If the record being processed has the same values of EPL_SITE_ID, EPL_JOB_CODE and EPL_CUST_REF as were stored on the last record processed, the ORD message does not need to be sent. Instead, the record should simply be marked as send, through setting of EPODJOBXFCONFIG.EPL_XFER_TTM_FLAG = EPODYesNo.No.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additionally, a new message type of COL should be sent. This is functionally identical to a DEL message. &lt;br /&gt;
&lt;br /&gt;
The existing procedure EPOD_SYS_EXPORT.ExportTTM retrieves all EPOD_JOB records that have been completed and require CAN or DEL messages sending, through the existing procedure EPOD_JOB_XFCONFIG.GetJobsCompleteXferTTM, calling database package EPOD_XFER_SELECT_JOB_COMPLETE_TTM. This retrieves jobs of types Collection and Delivery (EPOD_JOB_TYPE = &amp;quot;C&amp;quot; or &amp;quot;D&amp;quot;). The procedure then calls existing procedure EPOD_SYS_EXPORT.ExportCANDEL to send the message to TTM, and then EPOD_SYS_EXPORT.GenerateORDContent to generate the content of the message.&lt;br /&gt;
&lt;br /&gt;
In this procedure, when DEL messages are built, the final part of the procedure builds the message package around the content, including the event message type being sent. If the message type is DEL, check the value of EPOD_JOB.EPL_JOB_TYPE. If this value is &amp;quot;C&amp;quot;, change the event message type to be &amp;quot;COL&amp;quot; instead of &amp;quot;DEL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- MEDIA LANDSCAPE YES --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
= Appendix A: TEST PLAN  =&lt;br /&gt;
{{TestPlan_Header&lt;br /&gt;
|Title={{#var:Doc_Title}}&lt;br /&gt;
|Log={{#var:Reference}}&lt;br /&gt;
|Description=To test the EPOD-TTM interface&lt;br /&gt;
|MenuAccess=N/A&lt;br /&gt;
|Prerequisites=Create trips of multiple jobs in the following way:&lt;br /&gt;
* Cross-dock with and without loading/unloading at the depot&lt;br /&gt;
* Radial collect with and without unloading at the depot&lt;br /&gt;
* Radial delivery with and without loading at the depot&lt;br /&gt;
* Direct delivery&lt;br /&gt;
|Objective=To show that the TTM messages are sent with the correct details mapped, that the ORD messages are sent only once per cust ref, and that the departure and delivery addresses are sent correctly, across multiple different transport configuration types.&lt;br /&gt;
}} {{ #vardefine: Cycle | 0 }}{{ #vardefine: SubCycle | 0 }} {{TestPlan_CycleHeader&lt;br /&gt;
|Cycle={{ #vardefineecho: Cycle | {{ #expr: {{ #var: Cycle }} + 1 }} }}{{ #vardefine: SubCycle | {{ #var: Cycle }} }}&lt;br /&gt;
|Title=TRP and ORD messages - Cross-Dock&lt;br /&gt;
|Notes=Ensure the TTM Interface is enabled.&lt;br /&gt;
}} &amp;lt;!--INSERT TESTS HERE --&amp;gt; {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Create jobs with the same job code/cust ref being picked up from a supplier and delivered to a depot on one trip, then picked up from the depot and delivered to the customer on a second trip. Ensure these use Customer addresses only. Ensure all the planned start times are set reflecting reasonable delivery times.&lt;br /&gt;
|Result=2 TRP records and a single ORD record should be created. The DEP address for the ORD should be the customer address from the first job. The DEL address should be the customer address of the last job. The fields should be mapped correctly.&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Create jobs with the same job code/cust ref being picked up from a supplier on one trip, then delivered to the customer on a second trip. Ensure these use Customer addresses only. Ensure all the planned start times are set reflecting reasonable delivery times.&lt;br /&gt;
|Result=2 TRP records and a single ORD record  should be created. The DEP address for the ORD should be the customer address from the first job. The DEL address should be the customer address from the last job. The fields should be mapped correctly.&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Create jobs with the same job code/cust ref being picked up from a supplier and delivered to a depot on one trip, then picked up from the depot and delivered to the customer on a second trip. Ensure these use Job addresses only. Ensure all the planned start times are set reflecting reasonable delivery times.&lt;br /&gt;
|Result=2 TRP records and a single ORD record  should be created. The DEP address for the ORD should be the job address from the first job. The DEL address should be the job address from the last job. The fields should be mapped correctly.&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Create jobs with the same job code/cust ref being picked up from a supplier on one trip, then delivered to the customer on a second trip. Ensure these use Job addresses only. Ensure all the planned start times are set reflecting reasonable delivery times.&lt;br /&gt;
|Result=2 TRP records and a single ORD record  should be created. The DEP address for the ORD should be the job address from the first job. The DEL address should be the job address from the last job. The fields should be mapped correctly.&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Create jobs with the same job code/cust ref being picked up from a supplier and delivered to a depot on one trip, then picked up from the depot and delivered to the customer on a second trip. Ensure the first job has a Final Delivery address, and the last job has an Origin address. Ensure all the planned start times are set reflecting reasonable delivery times.&lt;br /&gt;
|Result=2 TRP records and a single ORD record  should be created. The DEP address for the ORD should be the origin address from the last job. The DEL address should be the Final Delivery address from the first job. The fields should be mapped correctly.&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Create jobs with the same job code/cust ref being picked up from a supplier on one trip, then delivered to the customer on a second trip. Ensure the first job has a Final Delivery address, and the last job has an Origin address. Ensure all the planned start times are set reflecting reasonable delivery times.&lt;br /&gt;
|Result=2 TRP records and a single ORD record  should be created. The DEP address for the ORD should be the origin address from the last job. The DEL address should be the Final Delivery address from the first job. The fields should be mapped correctly.&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_CycleFooter}} &lt;br /&gt;
&lt;br /&gt;
{{TestPlan_CycleHeader&lt;br /&gt;
|Cycle={{ #vardefineecho: Cycle | {{ #expr: {{ #var: Cycle }} + 1 }} }}{{ #vardefine: SubCycle | {{ #var: Cycle }} }}&lt;br /&gt;
|Title=TRP and ORD messages - Radial Collect&lt;br /&gt;
|Notes=Ensure the TTM Interface is enabled.&lt;br /&gt;
}} &amp;lt;!--INSERT TESTS HERE --&amp;gt; {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Create jobs with the same job code/cust ref being picked up from a supplier and delivered to a depot on one trip. Ensure these use Customer addresses only. Ensure all the planned start times are set reflecting reasonable delivery times.&lt;br /&gt;
|Result=A single TRP and ORD record should be created. The DEP address for the ORD should be the customer address from the first job. The DEL address should be the customer address of the last job. The fields should be mapped correctly.&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Create a job being picked up from a supplier on one trip. Ensure it uses a Customer address.&lt;br /&gt;
|Result=A single TRP and ORD record should be created. The DEP address for the ORD should be the customer address. There should be no DEL address. The fields should be mapped correctly.&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Create jobs with the same job code/cust ref being picked up from a supplier and delivered to a depot on one trip. Ensure these use Job addresses only. Ensure all the planned start times are set reflecting reasonable delivery times.&lt;br /&gt;
|Result=A single TRP and ORD record should be created. The DEP address for the ORD should be the job address from the first job. The DEL address should be the job address from the last job. The fields should be mapped correctly.&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Create a job being picked up from a supplier on one trip. Ensure it uses a Job address.&lt;br /&gt;
|Result=A single TRP and ORD record should be created. The DEP address for the ORD should be the job address. There should be no DEL address. The fields should be mapped correctly.&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Create jobs with the same job code/cust ref being picked up from a supplier and delivered to a depot on one trip. Ensure the first job has a Final Delivery address, and the last job has an Origin address. Ensure all the planned start times are set reflecting reasonable delivery times.&lt;br /&gt;
|Result=A single TRP and ORD record should be created. The DEP address for the ORD should be the origin address from the last job. The DEL address should be the Final Delivery address from the first job. The fields should be mapped correctly.&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Create a job being picked up from a supplier on one trip. Ensure it has a Final Delivery address and a customer address.&lt;br /&gt;
|Result=A single TRP and ORD record should be created. The DEP address for the ORD should be the customer address. The DEL address should be the Final Delivery address. The fields should be mapped correctly.&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_CycleFooter}} &lt;br /&gt;
&lt;br /&gt;
{{TestPlan_CycleHeader&lt;br /&gt;
|Cycle={{ #vardefineecho: Cycle | {{ #expr: {{ #var: Cycle }} + 1 }} }}{{ #vardefine: SubCycle | {{ #var: Cycle }} }}&lt;br /&gt;
|Title=TRP and ORD messages - Radial Delivery&lt;br /&gt;
|Notes=Ensure the TTM Interface is enabled.&lt;br /&gt;
}} &amp;lt;!--INSERT TESTS HERE --&amp;gt; {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Create jobs with the same job code/cust ref being picked up from a depot and delivered to a customer on one trip. Ensure these use Customer addresses only. Ensure all the planned start times are set reflecting reasonable delivery times.&lt;br /&gt;
|Result=A single TRP and ORD record should be created. The DEP address for the ORD should be the customer address from the first job. The DEL address should be the customer address of the last job. The fields should be mapped correctly.&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Create a job being delivered to a customer on one trip. Ensure it uses a Customer address.&lt;br /&gt;
|Result=A single TRP and ORD record should be created. The DEL address for the ORD should be the customer address. There should be no DEP address. The fields should be mapped correctly.&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Create jobs with the same job code/cust ref being picked up from a depot and delivered to a customer on one trip. Ensure these use Job addresses only. Ensure all the planned start times are set reflecting reasonable delivery times.&lt;br /&gt;
|Result=A single TRP and ORD record should be created. The DEP address for the ORD should be the job address from the first job. The DEL address should be the job address from the last job. The fields should be mapped correctly.&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Create a job being delivered to  a customer on one trip. Ensure it uses a Job address.&lt;br /&gt;
|Result=A single TRP and ORD record should be created. The DEL address for the ORD should be the job address. There should be no DEP address. The fields should be mapped correctly.&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Create jobs with the same job code/cust ref being picked up from a depot and delivered to a customer on one trip. Ensure the first job has a Final Delivery address, and the last job has an Origin address. Ensure all the planned start times are set reflecting reasonable delivery times.&lt;br /&gt;
|Result=A single TRP and ORD record should be created. The DEP address for the ORD should be the origin address from the last job. The DEL address should be the Final Delivery address from the first job. The fields should be mapped correctly.&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Create a job being delivered to a customer on one trip. Ensure it has an Origin address and a customer address.&lt;br /&gt;
|Result=A single TRP and ORD record should be created. The DEP address for the ORD should be the Origin address. The DEL address should be the customer address. The fields should be mapped correctly.&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_CycleFooter}} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TestPlan_CycleHeader&lt;br /&gt;
|Cycle={{ #vardefineecho: Cycle | {{ #expr: {{ #var: Cycle }} + 1 }} }}{{ #vardefine: SubCycle | {{ #var: Cycle }} }}&lt;br /&gt;
|Title=COL messages&lt;br /&gt;
|Notes=Ensure the TTM Interface is enabled.&lt;br /&gt;
}} &amp;lt;!--INSERT TESTS HERE --&amp;gt; {{TestPlan_Test&lt;br /&gt;
|Test={{ #vardefineecho: SubCycle | {{ #expr: {{ #var: SubCycle }} + 0.01 }} }}&lt;br /&gt;
|Action=Complete a collection job.&lt;br /&gt;
|Result=A COL message should be sent to TTM, populated identically to a DEL message (except for the message type).&lt;br /&gt;
|Remarks=&lt;br /&gt;
|PassFail=&lt;br /&gt;
}} {{TestPlan_CycleFooter}} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- MEDIA LANDSCAPE NO --&amp;gt; &lt;br /&gt;
{{Doc_Appendix&lt;br /&gt;
|Appendix=B&lt;br /&gt;
|Estimate=Y&lt;br /&gt;
|Glossary=EPOD&lt;br /&gt;
|Ref1=&amp;amp;nbsp;&lt;br /&gt;
|RefV1=&amp;amp;nbsp;&lt;br /&gt;
|RefDate1=&amp;amp;nbsp;&lt;br /&gt;
|REQ=0&lt;br /&gt;
|EST=0.5&lt;br /&gt;
|FS=1.25&lt;br /&gt;
|TS=0&lt;br /&gt;
|DEV=4.75&lt;br /&gt;
|ST=0.75&lt;br /&gt;
|IMP=0&lt;br /&gt;
|PM=0.25&lt;br /&gt;
|Client={{#var:Client}}&lt;br /&gt;
|Year={{#var:Year}}&lt;br /&gt;
|FSEST=Y&lt;br /&gt;
|Rev1=Murray Middleton&lt;br /&gt;
|Rev1Title=OBS Development Manager&lt;br /&gt;
|Rev2=Matt Tipping&lt;br /&gt;
|Rev2Title=OBS Project Manager&lt;br /&gt;
}}&amp;lt;/div&amp;gt; &lt;br /&gt;
[[Category:{{#var:Client}} FS]]&lt;/div&gt;</summary>
		<author><name>Anw</name></author>
	</entry>
</feed>