FS 293863 CDL EPOD Modifications: Difference between revisions
(v1.1 - Added customer-confirmed T&Cs; changed document format slightly) |
|||
Line 4: | Line 4: | ||
{{#vardefine:System|''CALIDUS'' ePOD}} | {{#vardefine:System|''CALIDUS'' ePOD}} | ||
{{#vardefine:Doc_Title|CDL EPOD Modifications}} | {{#vardefine:Doc_Title|CDL EPOD Modifications}} | ||
{{#vardefine:Version|1. | {{#vardefine:Version|1.1}} | ||
{{#vardefine:Date| | {{#vardefine:Date|28th June 2012}} | ||
{{#vardefine:Reference|293863}} | {{#vardefine:Reference|293863}} | ||
</div> | </div> | ||
Line 108: | Line 108: | ||
*Office Instructions | *Office Instructions | ||
*Modifiable customer contact. | *Modifiable customer contact. | ||
{{Note}} Slight changes to requirements were requested on 28/06/2012 regarding: | |||
* Confirmation of T&Cs when signing for goods. | |||
The format of the collection note has also been modified slightly to allow for the enhanced T&Cs. | |||
The system will be modified to allow the PDA to confirm the T&Cs and allow check-box entry as required. Although this will be data-maintainable, this will not be configurable by the customer. | |||
== Scope == | == Scope == | ||
Line 151: | Line 157: | ||
The EPOD_SERVICE_PRODUCT_MASTER table will be modified to include a new Weight field. This will be a floating point field. | The EPOD_SERVICE_PRODUCT_MASTER table will be modified to include a new Weight field. This will be a floating point field. | ||
The EPOD_JOB table will be modified to include a new EPL_TNCS field. This will be a max-character field. | |||
The EPOD_JOB_GROUP table will be modified to include a new EPL_TNCS field. This will be a max-character field. | |||
<!-- NEW PAGE --> | <!-- NEW PAGE --> | ||
Line 1,042: | Line 1,053: | ||
This must be used on the POD/POC/Service reports created instead of the customer name. | This must be used on the POD/POC/Service reports created instead of the customer name. | ||
<!-- NEW PAGE --> | |||
==Customer Terms & Conditions == | |||
When the PDA requests a customer signature, the system should prompt for T&Cs first, if the system has been configured for this. In order to achieve this: | |||
* The Job Group configuration sent to the PDA must now include the new EPL_TNCS field. | |||
* When prompting for customer signature, the PDA must check the Job Group configuration of the Job being confirmed. If this has a TNC Configuration, this should call a new screen to require T&C confirmation. If not, the existing Customer Signature screen will be called instead. | |||
* The new screen will extract the XML tags of the EPL_TNCS field as follows: | |||
** TEXT - this is the text that is always present and fills a scrolling text box on the screen. | |||
** CHECK - these are check boxes that will be displayed for the user to check under the text box. They will consist of the label to be displayed. There can be up to 3 only - any more will be ignored. | |||
* The format used by the site will be as follows: | |||
<TEXT>I certify that the information in A, B and C is correct, and that the carrier is registered.<br /> | |||
I confirm that I have fulfilled my duty to apply the waste hierarchy as required by Regulation 12 of the Waste (England and Wales) Regulations 2011. I also confirm that I am legally permitted to release the items from the company detailed in part A to CDL | |||
</TEXT> | |||
<CHECKS> | |||
<INPUT type="checkbox">A) Secure Location</INPUT> | |||
<INPUT type="checkbox">B) Non - Secure Location</INPUT> | |||
<INPUT type="checkbox">C) Customer Not Present</INPUT> | |||
</CHECKS> | |||
* The new screen will have an OK button. At least one of the check boxes must be checked to continue. | |||
* On clicking OK, the user will be taken to the existing Customer Signature screen. | |||
* The Checks tab will be returned and stored in the database in the EPL_TNCS field on the Job record. If check boxes have been ticked, they will have a parameter added to them of "checked", as follows: | |||
<CHECKS> | |||
<INPUT type="checkbox">A) Secure Location</INPUT> | |||
<INPUT type="checkbox" checked="checked">B) Non - Secure Location</INPUT> | |||
<INPUT type="checkbox" checked="checked">C) Customer Not Present</INPUT> | |||
</CHECKS> | |||
* The new screen will have a layout similar to the following: | |||
[[File:293863-PDA-1.PNG]] | |||
<!-- NEW PAGE --> | <!-- NEW PAGE --> | ||
Line 1,123: | Line 1,163: | ||
{{Note}} Multiple pages will be achieved when printing by using the CSS style '''page-break-before: always;''' set against the first element of the second page. | {{Note}} Multiple pages will be achieved when printing by using the CSS style '''page-break-before: always;''' set against the first element of the second page. | ||
"PART D - Consignor's Certificate" will be populated based on the values configured in the EPOD_JOB_GROUP record for the job and the check-box input values specified on the EPOD_JOB record. | |||
The text and the check boxes will be formatted on the EPOD format to line up as per the existing documents used by CDL. | |||
<!-- NEW PAGE --> | <!-- NEW PAGE --> |
Revision as of 15:32, 28 June 2012
Computer Disposals Limited
CDL EPOD Modifications
CALIDUS ePOD
28th June 2012 - 1.1
Reference: FS 293863
Contents
- 1 Functional Overview
- 2 Set-up
- 3 Functional Description
- 3.1 Configuration
- 3.2 Database Modifications
- 3.3 Office Instructions
- 3.4 Bespoke Job Import Function
- 3.5 Ad Hoc Collection Process
- 3.6 Multiple Signatures at Delivery/Collection
- 3.7 Modifiable Customer Contact
- 3.8 Customer Terms & Conditions
- 3.9 Product Weights
- 3.10 Bespoke Multi-part Proof of Collection Document
- 3.11 Automatic email of POD/POC
- 4 Appendix A: POC Document Formats
- 5 Appendix B: TEST PLAN
- 6 Appendix C: Document References
Functional Overview
Client Requirement
Development is required to the CALIDUS ePOD system in order to provide the functionality required by CDL. The requirements have been set out by Matthew Turner from visits to the client as follows:
Computer Disposals collect used computer equipment from companies to recycle at their head office in Warrington.
They are currently implementing a back office solution to handle all job processing. The system will export basic job detail. We need to provide xml/csv schema detail so they can design an import function to pass job detail onto us. They will provide a example of their standard output in November, so we can tell them how to change it.
They have a 2 part delivery note that is largely based on a fixed template created in Word.
Coll Note Part 1 is attached.
Coll Note Part 2 is attached.
I have marked the detail that comes from the CDL back job office import on the 2 part form with a tick. I have marked the detail that the driver needs to complete with an X.
In the current process, the driver does not generally know the exact quantity of goods he is collecting from a site. A general idea of the number of items to be collected is usually entered in the driver instructions part of the collection note. We refer to driver instructions in ePOD as ‘job instructions’.
On Product QTY Count, you will see that the driver does a manual count of equipment collected. He then does an estimation of weight based on multiplication of set weight per item. The result is entered on the QTY KG boxes on both parts on the collection note.
Example: (qty count of product) x ( set weight per product ) = QTY (KG)
On Coll Note Part 1 the following rules apply:
In box CRT Monitor QTY (KG), the KG total number is based on:
(qty count of monitors) x ( set weight per monitor ) = QTY (KG)
In box Flat Screen Displays QTY KG, the KG total number is based on:
(qty count of TFT’s) x ( set weight per TFT) + (qty count of laptops) x ( set weight per laptops) = QTY (KG)
In box Waste Refrigerants QTY KG, the KG total number is based on:
(qty count of waste refrigerants) x ( set weight per waste refrigerants ) = QTY (KG)
On Coll Note Part 2 which is the 2nd part of the collection note, the following rules apply:
In box IT Equipment, the KG total number is based on:
Total QTY KG of all collected products except Monitors, TFT’s, Laptops, Waste Refrigerants
Set Weights Info
- 1 x Monitor = 12 Kg
- 1 x TFT = 8 Kg
- 1 x Base = 8 Kg
- 1 x General = 2 Kg
- 1 x Printer = 5 Kg
- 1 x Server = 12 Kg
- 1 x Laptop = 8 Kg
- 1 x Refrigeration Unit = 50 Kg
Anticipated Process On PDA:
- Driver opens collection job from manifest
- Driver accesses product confirmation
- Driver does QTY count of product
- Result of calculation for QTY KG does not necessarily have to be shown on PDA just electronic collection note back in system.
- Driver signs PDA.
- Customer (Consignor) signs PDA
General Info:
Consignor is ‘Customer‘.
Part E (Disposer of Waste) on both parts of the collection note needs to be replicated on the electronic collection note, but is not interacted with in any way by our system. Automatic email POD is required on this contract.
General Questions:
Can date and time be automatically provided by the system on the electronic collection note?
Can driver print name and vehicle registration automatically be provided by the system on the electronic collection note?
CDL will be using HTC Touch 2.
Solution Overview
The functionality required is:
- Bespoke Job Import function
- Bespoke Multi-part Proof of Collection
- Multiple Signatures at Delivery/Collection
- Ad Hoc Collection process
- Product Weights
- Automatic email of POD/POC
- Office Instructions
- Modifiable customer contact.
Note: Slight changes to requirements were requested on 28/06/2012 regarding:
- Confirmation of T&Cs when signing for goods.
The format of the collection note has also been modified slightly to allow for the enhanced T&Cs.
The system will be modified to allow the PDA to confirm the T&Cs and allow check-box entry as required. Although this will be data-maintainable, this will not be configurable by the customer.
Scope
- Modifications will be made to version 1.1 of CALIDUS ePOD system.
Set-up
Pre-requisites
- For emailing POC/POD documents, Email must be configured on the CALIDUS ePOD server.
Menu Structure
None
Data
- The standard products must be created with standard weights.
- For emailing POC/POD documents, customers must be configured with email addresses.
Functional Description
Configuration
New Rules are required for the configuration of the system:
Site/Job Group
- Driver Signature Required Delivery
- Driver Signature Required Collection
- Ad Hoc Collection
- Automatic Email
Site
- Job Import Format
- Automatic Email
Database Modifications
The EPOD_JOB table will be modified to include a new EPL_OFFICE_INSTRUCTIONS field. This will be in the same format as the current Instructions field.
The EPOD_JOB table will be modified to include a new EPL_CUST_SIGNATORY field. This will be in the same format as the current EPOD_CUSTOMERS Contact field.
The EPOD_JOB table will be modified to include a new EPL_CUST_REF field. This will be a 30-character field. Note: This is also being added under developments for another customer - see the Referenced documents for details.
The EPOD_PRODUCTS table will be modified to include a new Weight field. This will be a floating point field.
The EPOD_SERVICE_PRODUCT_MASTER table will be modified to include a new Weight field. This will be a floating point field.
The EPOD_JOB table will be modified to include a new EPL_TNCS field. This will be a max-character field.
The EPOD_JOB_GROUP table will be modified to include a new EPL_TNCS field. This will be a max-character field.
Office Instructions
A new field of office instruction will be added to the EPOD_JOB table. This field will need to be displayed within the Job Details screen. This will be a free text field, identical to the current instructions field.
Bespoke Job Import Function
The Import shall be performed via a XML file. The file format must conform to the following schema. The upload shall function so that if there is a single issue with the file, no data will be committed, "All or Nothing". The upload works for both adding and updating data. The upload is available via a manual upload or a web request.
XML Schema
A base for the XML import:
<?xml version="1.0" encoding="utf-16"?> <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="EPOD_IMPORT"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPOD_LOADS" maxOccurs="1" nillable="true" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPOD_LOAD" nillable="true" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPL_SITE_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_LOAD_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="12" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_LOAD_START_PLANNED_DATE" type="xsd:int" nillable="true" minOccurs="0" /> <xsd:element name="EPL_LOAD_START_PLANNED_TIME" type="xsd:int" nillable="true" minOccurs="0"/> <xsd:element name="EPL_LOAD_END_PLANNED_DATE" type="xsd:int" nillable="true" minOccurs="0"/> <xsd:element name="EPL_LOAD_END_PLANNED_TIME" type="xsd:int" nillable="true" minOccurs="0"/> <xsd:element name="EPL_LOAD_DISTANCE_PLANNED" type="xsd:int" nillable="true" minOccurs="0"/> <xsd:element name="EPL_USER_ID" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPOD_JOBS" nillable="true" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPOD_JOB" nillable="true" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPL_SITE_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_LOAD_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="12" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_JOB_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_JOB_TYPE" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value="D"/> <xsd:enumeration value="C"/> <xsd:enumeration value="S"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_JOB_GROUP" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="5" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_JOB_INSTRUCTION" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="255" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_OFFICE_INSTRUCTION" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="255" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_CUSTOMER_CODE" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="20" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_START_PLANNED_DATE" type="xsd:int" nillable="true" minOccurs="0"/> <xsd:element name="EPL_START_PLANNED_TIME" type="xsd:int" nillable="true" minOccurs="0"/> <xsd:element name="EPL_DISTANCE_PLANNED" type="xsd:int" nillable="true" minOccurs="0"/> <xsd:element name="EPL_CUSTOMER_NAME" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="100" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_ADDRESS_1" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_ADDRESS_2" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_ADDRESS_3" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_ADDRESS_4" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_POSTCODE" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:pattern value="^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z])))) {0,1}[0-9][A-Za-z]{2})$" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_CONTACT" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_TELEPHONE" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="50" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_EMAIL" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="255" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPOD_CONTAINERS" nillable="true" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPOD_CONTAINER" nillable="true" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPL_SITE_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_JOB_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_CONTAINER_ID" type="xsd:int" nillable="false"/> <xsd:element name="EPL_SEQUENCE" type="xsd:int" nillable="true" minOccurs="0" /> <xsd:element name="EPL_CONTAINER_PACKAGE_CODE" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="4" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_CONTAINER_PACKAGE_DESC" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPOD_PRODUCTS" nillable="true" minOccurs="0" maxOccurs="1" > <xsd:complexType> <xsd:sequence> <xsd:element name="EPOD_PRODUCT" nillable="true" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPL_SITE_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_JOB_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_CONTAINER_ID" type="xsd:int" nillable="false"/> <xsd:element name="EPL_PRODUCT_CODE" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_SEQUENCE" type="xsd:int" nillable="false"/> <xsd:element name="EPL_DESCRIPTION" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_PRODUCT_QTY_PLANNED" type="xsd:int" nillable="false"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="EPOD_PRODUCTS" nillable="true" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPOD_PRODUCT" nillable="true" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPL_SITE_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_JOB_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_PRODUCT_CODE" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_SEQUENCE" type="xsd:int" nillable="false"/> <xsd:element name="EPL_DESCRIPTION" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_PRODUCT_QTY_PLANNED" type="xsd:int" nillable="false"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="EPOD_SERVICE" nillable="true" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPL_SITE_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_JOB_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_SERVICE_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="20" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_SERVICE_TYPE" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value="D"/> <xsd:enumeration value="I"/> <xsd:enumeration value="S"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_REG_NUMBER" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="15" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_VIN_NUMBER" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="50" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_SIM_NUMBER" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="50" /> </xsd:restriction> </xsd:simpleType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="EPOD_JOBS" nillable="true" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPOD_JOB" nillable="true" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPL_SITE_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_LOAD_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="12" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_JOB_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_JOB_TYPE" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value="D"/> <xsd:enumeration value="C"/> <xsd:enumeration value="S"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_JOB_GROUP" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="5" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_JOB_INSTRUCTION" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="255" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_OFFICE_INSTRUCTION" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="255" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_CUSTOMER_CODE" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="20" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_START_PLANNED_DATE" type="xsd:int" nillable="true" minOccurs="0"/> <xsd:element name="EPL_START_PLANNED_TIME" type="xsd:int" nillable="true" minOccurs="0"/> <xsd:element name="EPL_DISTANCE_PLANNED" type="xsd:int" nillable="true" minOccurs="0"/> <xsd:element name="EPL_CUSTOMER_NAME" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="100" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_ADDRESS_1" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_ADDRESS_2" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_ADDRESS_3" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_ADDRESS_4" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_POSTCODE" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:pattern value="^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z])))) {0,1}[0-9][A-Za-z]{2})$" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_CONTACT" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_TELEPHONE" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="50" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_EMAIL" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="255" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPOD_CONTAINERS" nillable="true" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPOD_CONTAINER" nillable="true" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPL_SITE_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_JOB_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_CONTAINER_ID" type="xsd:int" nillable="false"/> <xsd:element name="EPL_SEQUENCE" type="xsd:int" nillable="true" minOccurs="0"/> <xsd:element name="EPL_CONTAINER_PACKAGE_CODE" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="4" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_CONTAINER_PACKAGE_DESC" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPOD_PRODUCTS" nillable="true" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPOD_PRODUCT" nillable="true" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPL_SITE_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_JOB_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_CONTAINER_ID" type="xsd:int" nillable="false"/> <xsd:element name="EPL_PRODUCT_CODE" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_SEQUENCE" type="xsd:int" nillable="false"/> <xsd:element name="EPL_DESCRIPTION" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_PRODUCT_QTY_PLANNED" type="xsd:int" nillable="false"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="EPOD_PRODUCTS" nillable="true" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPOD_PRODUCT" nillable="true" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPL_SITE_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_JOB_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_PRODUCT_CODE" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_SEQUENCE" type="xsd:int" nillable="false"/> <xsd:element name="EPL_DESCRIPTION" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_PRODUCT_QTY_PLANNED" type="xsd:int" nillable="false"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="EPOD_SERVICE" nillable="true" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPL_SITE_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_JOB_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_SERVICE_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="20" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_SERVICE_TYPE" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value="D"/> <xsd:enumeration value="I"/> <xsd:enumeration value="S"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_REG_NUMBER" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="15" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_VIN_NUMBER" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="50" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_SIM_NUMBER" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="50" /> </xsd:restriction> </xsd:simpleType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="EPOD_CUSTOMERS" maxOccurs="1" nillable="true" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPOD_CUSTOMER" nillable="true" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPL_SITE_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_CUSTOMER_CODE" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="20" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_CUSTOMER_NAME" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="100" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_ADDRESS_1" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_ADDRESS_2" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_ADDRESS_3" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_ADDRESS_4" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_POSTCODE" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:pattern value="^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z])))) {0,1}[0-9][A-Za-z]{2})$" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_CONTACT" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_TELEPHONE" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="50" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_EMAIL" nillable="true" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="255" /> </xsd:restriction> </xsd:simpleType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="EPOD_SERVICE_PRODUCT_MASTERS" nillable="false" maxOccurs="1" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPOD_SERVICE_PRODUCT_MASTER" nillable="false" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPL_SITE_ID" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_PRODUCT_CODE" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_PRODUCT_GROUP" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_DESCRIPTION" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="40" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_STATUS" nillable="false"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value="A"/> <xsd:enumeration value="I"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_QUANTITY" type="xsd:int" /> <xsd:element name="EPL_PRODUCT_WEIGHT" type="xsd:decimal" nillable="true" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> <xsd:attribute name="EPL_SITE_ID"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="EPL_USER_ID"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="EPL_USER_PASSWORD"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="100" /> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> </xsd:schema>
Ad Hoc Collection Process
The Ad Hoc collection process will allow users of the PDA to specify items collected, at point of collection. This will appears as a separate tab on the PDA within the Collections menu. Users will be able to select items that currently exists in the EPOD_SERVICE_PRODUCT_MASTER, from a drop down list and add or remove them from the collection. These products will be added to the Loose Products container 00000000.
Once completed the server will then create this container if it does not exist and products.
This will be configurable against the SITE and the JOB GROUP. If configured as off the Ad Hoc tab within the collections menu will be disabled. If this is enabled the tab will be displayed allowing a combination of pre-defined containers and products as well as Ad Hoc additions. The functionality provided by Containers without products means that in the scenario that there are no products/containers pre-defined the Containers and Products tabs will be disabled. If the Loose Product container is pre-defined, the Ad Hoc products will be placed onto this container.
Multiple Signatures at Delivery/Collection
When completing a Delivery/Collection, the flag against site for Driver Signature will be checked. If this option is enabled the user will be asked to sign (Driver) as in the service menu. These details will be stored in the driver signature field within the Job table.
The flag will be configurable against Job Group and Site. As with other configuration, the job group will be checked if no record is present then the site record will be used.
Modifiable Customer Contact
When the PDA requests a customer signature, the Customer Contact Name is defaulted into the text box above the signature. The user is allowed to amend this name, to reflect the customer contact who actually signed for the work.
This customer name must be sent back to the Server.
The Server must save this to the new Job field created for this purpose (CUST_SIGNATORY).
This must be used on the POD/POC/Service reports created instead of the customer name.
Customer Terms & Conditions
When the PDA requests a customer signature, the system should prompt for T&Cs first, if the system has been configured for this. In order to achieve this:
- The Job Group configuration sent to the PDA must now include the new EPL_TNCS field.
- When prompting for customer signature, the PDA must check the Job Group configuration of the Job being confirmed. If this has a TNC Configuration, this should call a new screen to require T&C confirmation. If not, the existing Customer Signature screen will be called instead.
- The new screen will extract the XML tags of the EPL_TNCS field as follows:
- TEXT - this is the text that is always present and fills a scrolling text box on the screen.
- CHECK - these are check boxes that will be displayed for the user to check under the text box. They will consist of the label to be displayed. There can be up to 3 only - any more will be ignored.
- The format used by the site will be as follows:
<TEXT>I certify that the information in A, B and C is correct, and that the carrier is registered.
I confirm that I have fulfilled my duty to apply the waste hierarchy as required by Regulation 12 of the Waste (England and Wales) Regulations 2011. I also confirm that I am legally permitted to release the items from the company detailed in part A to CDL </TEXT> <CHECKS> <INPUT type="checkbox">A) Secure Location</INPUT> <INPUT type="checkbox">B) Non - Secure Location</INPUT> <INPUT type="checkbox">C) Customer Not Present</INPUT> </CHECKS>
- The new screen will have an OK button. At least one of the check boxes must be checked to continue.
- On clicking OK, the user will be taken to the existing Customer Signature screen.
- The Checks tab will be returned and stored in the database in the EPL_TNCS field on the Job record. If check boxes have been ticked, they will have a parameter added to them of "checked", as follows:
<CHECKS> <INPUT type="checkbox">A) Secure Location</INPUT> <INPUT type="checkbox" checked="checked">B) Non - Secure Location</INPUT> <INPUT type="checkbox" checked="checked">C) Customer Not Present</INPUT> </CHECKS>
- The new screen will have a layout similar to the following:
Product Weights
Admin
The Service Product Maintenance screen (product_maintanance.aspx) will be modified to add a Weight column to the grid when data is found.
This will come from the new field on EPOD_SERVICE_PRODUCTS_MASTER.
When adding a new product from this screen (pressing the New button), the screen will prompt for the Weight. This will be positioned under the Product Status field, in line with it.
Clicking Create will save the new product with the weight. Weight (and quantity) are not required entries. Weight if entered will be validated as a floating point number.
When editing a product on the grid (by clicking Select, the Edit), the screen will allow the user to edit the weight in position here, like the Status and Quantity.
Clicking Update will save the product with any amendments. Weight (and quantity) are not required entries. Weight if entered will be validated as a floating point number.
Server
When a PDA client confirms a job as complete, the server will update the Job with the new products (see "Ad Hoc Collection Process").
When creating these products, the server will get the Service Product record relating to the product line. If found, and the product has a weight against it, this will be multiplied by the product quantity and saved into the weight field against the Job Products record.
Bespoke Multi-part Proof of Collection Document
A new POC format will be created, labelled as "CDL". This will match as closely as possible the existing documents used by CDL, as can be seen in Appendix A.
The fields used on both pages are as follows:
- Collection Date: EPL_START_PLANNED_DATE of EPOD_JOB
- CDL Representative: EPL_USER_NAME of EPOD_USER
- Consignment Note Code: CUSTOMER_CODE + JOB_ID of EPOD_JOB
- Waste Remove From: Address information from EPOD_CUSTOMER
- Premises Code: CUSTOMER_CODE of EPOD_JOB
- Waste Taken To: Site Address (taken from the EPOD_CUSTOMER record for the SITE_ID
- CDL Internal Reference: EPL_JOB_ID of EPOD_JOB
- SIC: EPL_CUST_REF of EPOD_JOB
- Qty (Kg): Calculated based on EPL_PRODUCT_WEIGHT * EPL_PRODUCT_QTY_ACTUAL
- Carrier
- Vehicle Reg: EPL_VEHICLE_REG of EPOD_VEHICLE, from EPL_VEHICLE_ID of EPOD_LOAD
- Signature: EPL_ENG_SIGNATURE of EPOD_JOB
- Time: EPL_END_ACTUAL_TIME of EPOD_JOB
- Print Name: EPL_USER_NAME of EPOD_USER
- Date: EPL_END_ACTUAL_DATE of EPOD_JOB
- Consignor:
- Consignor Name: CUST_SIGNATORY
- Signature: EPL_JOB_SIGNATURE
- Date: EPL_END_ACTUAL_DATE of EPOD_JOB
- Time: EPL_END_ACTUAL_TIME of EPOD_JOB
- Consignor Name: EPL_CONTACT + EPL_TELEPHONE of EPOD_CUSTOMER
- Office Instruction: EPL_OFFICE_INSTRUCTION of EPOD_JOB
- Driver Instruction: EPL_INSTRUCTIONS of EPOD_JOB
All other details on the POD will be produced as-is on the pro-forma document.
All existing POD/POC formats include a section that allows the user to send the document via Email. This section in each existing format will be modified to be surrounded by two identical comments, similar to the below:
<!-- __EMAIL_SECTION__ -->
The Email section will be encased in a Division, specifically identified. CSS will be created to ensure that this section is removed when printing, using a CSS style specific for media printing.
For example:
<style type="text/css" media="screen"> #emailSection {display: block;} </style> <style type="text/css" media="print"> #emailSection {display: none;} </style> <div id="emailSection"> <!-- __EMAIL_SECTION__ --> . . . <!-- __EMAIL_SECTION__ --> </div>
Note: Multiple pages will be achieved when printing by using the CSS style page-break-before: always; set against the first element of the second page.
"PART D - Consignor's Certificate" will be populated based on the values configured in the EPOD_JOB_GROUP record for the job and the check-box input values specified on the EPOD_JOB record.
The text and the check boxes will be formatted on the EPOD format to line up as per the existing documents used by CDL.
Automatic email of POD/POC
When a PDA client confirms a job as complete, the server will update the Job to Complete status.
When this is complete, the process will check whether the new Configuration rule "Automatic Email" is set up for the Site of the completed job.
If this is enabled, the process will get the Customer record for the Job's Customer.
If the Email address of the Customer is set, the following actions will be taken:
- The process will render the POD or POC for the Job, in the correct format, according to the Site or Job Group of the completed Job.
- The process will take the rendered page and remove any code in between the new EMAIL SECTION comment tags
- This rendered page will then be sent to the customer's email address through the standard email mechanism.
Appendix A: POC Document Formats
Appendix B: TEST PLAN
Test Script / Scenario Reference | CDL EPOD Modifications | Call Number(s): 293863 |
Test Script / Scenario Description | Full System Test for CDL's functionality | PASS / ISSUES / FAIL |
Menu Access | N/a | |
Pre-requisites | CDL Test Site configuration | Tested By: |
Test Objective | Fully test CDL's functionality | Date: |
Step | Action | Result | Remarks | P/F |
1 | Admin | |||
Admin Changes | ||||
1.10 | Create a Ad Hoc collection with Office Instructions (collection with no containers or products) | |||
1.20 | Check the multi-part POC is produced correctly(printed as well), confirm the weights are calculated correctly. | |||
1.30 | On job completion the POC should be emailed to the customers email address, automatically. |
Step | Action | Result | Remarks | P/F |
2 | PDA Client | |||
PDA Client Changes | ||||
2.10 | Process a ad hoc collection | Only Ad Hoc collection tab and instruction tabs should be shown. | ||
2.20 | Process a ad hoc collection using products configured in the service product master | Products should be added in the standard approach | ||
2.30 | Check driver signature is prompted | Driver should sign as well as the customer | ||
2.40 | Change the customers name when signing | This should process back to the admin system and be shown against the job. |
Appendix C: Document References
C.1 References
Ref No | Document Title & ID | Version | Date |
1 | FS 294229 Whiteline EPOD Modifications | 0.1 | 23/11/2011 |
C.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. |
C.3 Authorised By
Steve McCartney | OBS Representative | _____________________________ |
Matthew Turner | OBS Representative | _____________________________ |