FS 313748 AUNZ-013 LFS PDA Dialogue Changes
LFS
LFS PDA Dialogue Changes
CALIDUS ePOD
6th March 2014 - 0.4
Reference: FS 313748 AUNZ-013
Contents
Functional Overview
Client Requirement
There are multiple requirements taken from several sections of the solution design, broken down below:
- Container Totals Display
- LFS Drivers need to see the number of containers that is on the order in the Job Details screen
- Customer Reference Display
- The customer reference number should be visible in the Address tab
- Collection Final Destination Display
- For customer collections, the driver must know the final destination to which the goods are going. This is to allow the driver to confirm with the customer, on collection, the final destination of the piece being collected. This is to ensure that the correct packages are being collected. A new Final destination tab is required in the job details screens to give the driver the visibility of this final destination. The final destination information is available on the order on the CTMS this information will be transferred through from the CTMS system to the EPOD device.
- Container Screen Display Sequence
- The first tab the driver will see when reaching the delivery or collection process is the container/Piece delivery screen to ensure the fastest possible completion of the job.
- Gel Pack or Dry Ice required?
- LFS drivers must be prompted for LFS owned packaging, Gel Packs or Dry Ice if this is needed for the trip. A new screen will be designed to prompt the drivers to collect the relevant packaging before they leave the depot.
- Background image on Signature box
- A background image is needed on the signature box containing "ORDER RECEIVED IN FULL AND GOOD CONDITION". The EPOD signature is then captured. The customers default name is placed in the customer signature text box but if the contact is different, the signatory can be edited. A change will be made to so that the customer signatory is always blank. This is to prevent the order from being signed with the incorrect name. The driver or customer are forced to enter the signatory. The signatory will then be sent back to the CTMS system. The contact name should still be populated when it is provided from the CTMS system. It was highlighted that the signature box should have an image behind it stating "ORDER RECEIVED IN FULL AND GOOD CONDITION"
- Highlight Updated Job on Job List
- If a collection or delivery is uncompleted an update can be sent to the job from the CTMS system. These updates can include changes to contact names, adding or removing packages. New jobs can also be sent to the PDA if they are assigned to the drivers trip within the CTMS system. A change should be made to highlight that a job has been updated on the PDA in the job list selection screen so it is easily visible
Additionally, further requirements for the PDA layout were received after review of other specifications, as follows:
- Highlight numbers of Jobs and Containers on confirmation.
- For Consolidated deliveries, the customer must be shown the number of jobs they are signing for. Additionally, the total number of packages must also be shown at all times. The PDA Signature screen will be modified to display these details.
Solution Overview
Note: The described functionality below is dependent on the configuration on the device, whereby the style "LFS" is configured. If the device is not configured in this way, the generic CALIDUS ePOD functionality will be followed.
After the user has logged on to the device and completed any Vehicle Checks required, the device will download the Load (or Trip) assigned to that user.
- Job List
After Load Metrics have been entered (if required), the device will display to the driver the Packaging requirements for the whole load, displaying the total amounts of:
- Packaging
- Gel Packs
- Dry Ice
Once this Load Information pop-up is cleared, the jobs on this Load will be displayed in the Job List screen.
Note: The user will be able to redisplay the Load Instructions at this time, using the Menu button on the device
The jobs displayed here can be of several potential types:
- Collection from depot (loading)
- Collection from supplier/customer
- Delivery to customer
- Delivery at Depot (unloading)
The Job List displays information on each row about the job. This is expected to be:
- The Job Reference - this will be configured to show the customer's reference.
- The Job Type - Collection or Delivery
- The Customer's name and post-code.
- The total number of containers (packages) on the jobs to be delivered.
Note: This is also displayed in the following Job Details, Collection/Delivery and Signature screens.
Note: The device will also display jobs that have been grouped (or consolidated) together as a single row here. The information displayed is slightly different. This is described in more detail elsewhere in other specifications.
If the jobs on the load are modified (by the planning team or otherwise) to add, remove or change jobs, the device will make this clear:
- An alert alarm will sound (configurable on the device)
- The device will vibrate (configurable on the device)
- The Job List will redisplay, with a list of only the jobs that have modified (allowing the user to drill down and see the jobs in detail),
- The rows will be highlighted to show whether this is an amendment, a removal or an addition
- An Accept Updates button will be shown - the driver cannot start another job without accepting the updates.
The device will automatically check this every few minutes.
Selecting a job on the Job List will cause the device to display the Job Details screen.
- Job Details
The Job Details screen will be configured to display the customer's reference for the job in the title of the screen.
The Instructions tab will display the requirements for this job or jobs regarding the quantity of Packaging, Gel Packs or Dry Ice. If this is a consolidated group of jobs, this information will be displayed for each order in sequence, showing which job the information is for. The screen will be scrollable, to allow the driver to see all details. The display of the quantity of these packaging items will be used at supplier collections, to indicate to the user the quantity of these packaging items that must be provided to the customer for their packaging. This number of packages here is also the number of containers, as required above.
If the jobs on the load are modified (by the planning team or otherwise) to add, remove or change jobs, whilst in this screen, the device will make this clear:
- An alert alarm will sound (configurable on the device)
- The device will vibrate (configurable on the device)
- a pop-up message will be displayed saying "Your worklist has been updated by the administrator"
- The Job List will redisplay, with a list of only the jobs that have modified (allowing the user to drill down and see the jobs in detail),
- The rows will be highlighted to show whether this is an amendment, a removal or an addition
- An Accept Updates button will be shown - the driver cannot start another job without accepting the updates.
The device will automatically check this every few minutes.
The driver will be able to Start a job and Arrive at a job using the buttons provided. Note: If at the time of pressing these buttons, the individual Job details have been changed (for example by the planning office), the device will inform the user to check the job for any updates and will not continue until the button is pressed again.
Once arrived at the job, the device will display the Collection/Delivery screens.
- Collection/Delivery screens.
Note: The processes for Collections and Deliveries are identical within CALIDUS ePOD and are shown below. For convenience, these will be referred to as Deliveries below. For Collections, all labels will display as "Collect", "Collection", etc.
If the LFS style is selected on the device, the device will begin with the Containers (Packages) tab enabled. Note: As LFS have no loose products to deliver and no products within packages to scan, there will be no Products tab displayed on this screen.
Each tab on the Collection/Delivery screen will be configured to display the customer's reference for the job in the title of the screen.
The Job Details tab of this screen displays the Contact and Instruction information - the contact area has been extended to show a Tabbed area for other reasons, which will be extended again as follows:
- Tab 1 - Info
- Contact
- Telephone
- Planned Start Date Time
- Tab 2 - Job Address - the address to which you have just travelled.
- Tab 3 - Collection/Delivery Address - this will show the original collection address (for a Delivery job) and the ultimate delivery address (for a Collection job). This will only be shown if this information has been passed to CALIDUS ePOD.
Once all containers have been scanned as delivered and the Complete button is pressed, the device will display the Signature screen.
- Signature Capture
If the device is configured in the style of LFS:
- The Signatory text-box will not be defaulted from the customer contact - this will be left blank, and the user will be forced to enter this in the box before signature can be successfully confirmed.
- The text "ORDER RECEIVED IN FULL AND GOOD CONDITION" will be displayed behind the signature. The signature box will be made partially transparent to show this text.
If the signature is being captured for a consolidated group of jobs, a tab will be added to the lower section of the screen, labelled as Jobs. This will display the total number of jobs being signed for, and a list of all the job references.
The Pallets (Containers) tab will be modified to show the total number of packages being signed for.
Note: As LFS have no loose products to deliver and no products within packages to scan, there will be no Products tab displayed on this screen.
Once the signature has been captured, the job will be completed and the driver will be returned to the Job List, and able to continue to the next job.
Scope


Set-up
Pre-requisites
- A working CALIDUS ePOD system.
- A working CALIDUS TMS system, accessible to the CALIDUS ePOD system.
CALIDUS TMS Interface Changes
- EPL_UDF_JOBDETS to be populated with PACKAGING, GEL and DRY ICE counts, in UDF format, only on collections from supplier. Format example:
<FORM NAME="Job Details" REQUIRED="Y"> <FIELD ID="DU1_COUNT"> <TEXT>No. of DU1: X</TEXT> <FORMAT>L</FORMAT> </FIELD> <FIELD ID="GEL_PACK_COUNT"> <TEXT>No. of Gel Packs: X</TEXT> <FORMAT>L</FORMAT> </FIELD> <FIELD ID="DRY_ICE_QTY"> <TEXT>Qty of Dry Ice: X.X Kgs</TEXT> <FORMAT>L</FORMAT> </FIELD> </FORM>
- EPL_LOAD_INFORMATION to be populated with rolled-up values of PACKAGING, GEL and DRY ICE counts, as follows:
- No. of DU1: X
- No. of Gel Packs: X
- Qty of Dry Ice: X.X Kgs
- New Job Address information will be passed in through a new tag EPOD_JOB_ADDRESS in the EPOD_JOB tag, before the existing tag EPL_OWNER_NAME. This tag can occur zero to many times, is nillable, and will have the following content:
- EPL_ADDRESS_TYPE - 1-character field indicating the address type (C = Collection, D = Delivery). This will be stored in EPL_JOB_TYPE of EPOD_JOB_ADDRESS, as follows:
- For Collections from the customer only (i.e. not loading tasks), the ultimate destination address of the order, sent with type "D". The Job Address (i.e the address of the collection or loading job) will be stored with type "C".
- For Deliveries to the final destination only (i.e. not unloading tasks), the original pickup location, set with type "C". The Job Address (i.e the address of the delivery or unloading job) will be stored with type "D".
- EPL_ADDRESS_1 - 40-characters, occurs 1 time only, not nillable.
- EPL_ADDRESS_2 - 40-characters, occurs 0 to 1 time, nillable.
- EPL_ADDRESS_3 - 40-characters, occurs 0 to 1 time, nillable.
- EPL_ADDRESS_4 - 40-characters, occurs 0 to 1 time, nillable.
- EPL_ADDRESS_5 - 40-characters, occurs 0 to 1 time, nillable.
- EPL_POSTCODE - 10-characters, occurs 0 to 1 time, nillable.
- EPL_CONTACT - 40-characters, occurs 0 to 1 time, nillable.
- EPL_TELEPHONE - 50-characters, occurs 0 to 1 time, nillable.
- EPL_EMAIL - 255-character, occurs 0 to 1 time, nillable.
- EPL_ADDRESS_TYPE - 1-character field indicating the address type (C = Collection, D = Delivery). This will be stored in EPL_JOB_TYPE of EPOD_JOB_ADDRESS, as follows:
Menu Structure
None
Data
None
Functional Description
Database/DAL
Table EPOD_SITE requires the following modification:
- EPL_PDA_FULL_ADDRESSES - nvarchar(1), NOT NULL DEFAULT 'N', values 'Y' or 'N'.
Existing packages will be modified to allow the creating, editing and selecting of the new flag, including but not limited to:
- EPOD_SITE_INSERT
- EPOD_SITE_SELECT
- EPOD_SITE_SELECT_UPDATED_DATA
- EPOD_SITE_UPDATE
The existing EPOD_SITE DAL object will be changed to:
- Read the new flag
Note: It is not necessary to add this flag as a searchable item. However, if allowing this keeps the packages and DAL objects standard in design, then this can also be done, within the DAL and the packages.
Note: It is not necessary to export the new flag in XML requests. However, if doing this keeps the functions standard in design, this can also be done. If so, the XML Export of EPOD_SITE records will look as follows:
<EPOD_SITE> <EPL_SITE_ID></EPL_SITE_ID> <EPL_DESCRIPTION></EPL_DESCRIPTION> <EPL_SERVICE_POD_FORMAT></EPL_SERVICE_POD_FORMAT> <EPL_DELIVERY_POD_FORMAT></EPL_DELIVERY_POD_FORMAT> <EPL_COLLECTION_POD_FORMAT></EPL_COLLECTION_POD_FORMAT> <EPL_SERVICE_ACTIVITIES></EPL_SERVICE_ACTIVITIES> <EPL_SERVICE_PREWORK></EPL_SERVICE_PREWORK> <EPL_SERVICE_INFO></EPL_SERVICE_INFO> <EPL_SERVICE_PRODUCTS></EPL_SERVICE_PRODUCTS> <EPL_SERVICE_MC_REF></EPL_SERVICE_MC_REF> <EPL_SERVICE_DIAGNOSIS></EPL_SERVICE_DIAGNOSIS> <EPL_SERVICE_POSTWORK></EPL_SERVICE_POSTWORK> <EPL_AUTO_COMPLETE_EMAIL></EPL_AUTO_COMPLETE_EMAIL> <EPL_AD_HOC_COLLECTION></EPL_AD_HOC_COLLECTION> <EPL_DEL_DRIVER_SIGN></EPL_DEL_DRIVER_SIGN> <EPL_COL_DRIVER_SIGN></EPL_COL_DRIVER_SIGN> <EPL_DELIVERY_PAYMENT></EPL_DELIVERY_PAYMENT> <EPL_DOCUMENT_PHOTO></EPL_DOCUMENT_PHOTO> <EPL_CONTAINER_ONLY></EPL_CONTAINER_ONLY> <EPL_PDA_DIS_JOB_CODE></EPL_PDA_DIS_JOB_CODE> <EPL_LINKED_C_D></EPL_LINKED_C_D> <EPL_METRICS_ENTRY></EPL_METRICS_ENTRY> <EPL_NOTES></EPL_NOTES> <EPL_FORCED_ENTRY></EPL_FORCED_ENTRY> <EPL_SYSTEM_TYPE></EPL_SYSTEM_TYPE> <EPL_UPDATE_FUNCTIONS></EPL_UPDATE_FUNCTIONS> <EPL_VEHICLE_CHECK_CONFIG></EPL_VEHICLE_CHECK_CONFIG> <EPL_JOB_LIST_CFG></EPL_JOB_LIST_CFG> <EPL_ARRIVAL_FLAG></EPL_ARRIVAL_FLAG> <EPL_SCAN_ERROR_FLAG></EPL_SCAN_ERROR_FLAG> <EPL_LAST_CHANGED_DATE></EPL_LAST_CHANGED_DATE> <EPL_LAST_CHANGED_TIME></EPL_LAST_CHANGED_TIME> <EPL_RESEQUENCE></EPL_RESEQUENCE> <EPL_CLAUSE_DELIVERY></EPL_CLAUSE_DELIVERY> <EPL_JOB_STATUS></EPL_JOB_STATUS> <EPL_CONSOLIDATION></EPL_CONSOLIDATION> <EPL_VEHICLE_STOCK_FLAG></EPL_VEHICLE_STOCK_FLAG> <EPL_SCAN_AT_VEHICLE></EPL_SCAN_AT_VEHICLE> <EPL_PDA_FULL_ADDRESSES></EPL_PDA_FULL_ADDRESSES> </EPOD_SITE>
The existing database package EPOD_SETUP will be modified to ensure that the new flags are defaulted appropriately
The existing EPOD_LOAD table will be modified to add new fields as follows:
- EPL_LOAD_INFORMATION - nvarchar(max), NOT NULL DEFAULT "".
Existing packages will be modified to allow the creating, editing and selecting of the new field, including but not limited to:
- EPOD_LOAD_INSERT
- EPOD_LOAD_SEARCH
- EPOD_LOAD_SELECT
- EPOD_LOAD_SELECT_DATE
- EPOD_LOAD_SELECT_PDA
- EPOD_LOAD_UPDATE
The XML Export of EPOD_LOAD (through the DAL) will be modified to add these two new fields to the end of the EPOD_LOAD section. The XML export format in this case will be as follows:
<EPOD_LOAD> <EPL_SITE_ID></EPL_SITE_ID> <EPL_LOAD_ID></EPL_LOAD_ID> <EPL_LOAD_START_PLANNED_DATE></EPL_LOAD_START_PLANNED_DATE> <EPL_LOAD_START_PLANNED_TIME></EPL_LOAD_START_PLANNED_TIME> <EPL_LOAD_END_PLANNED_DATE></EPL_LOAD_END_PLANNED_DATE> <EPL_LOAD_END_PLANNED_TIME></EPL_LOAD_END_PLANNED_TIME> <EPL_LOAD_START_ACTUAL_DATE></EPL_LOAD_START_ACTUAL_DATE> <EPL_LOAD_START_ACTUAL_TIME></EPL_LOAD_START_ACTUAL_TIME> <EPL_LOAD_END_ACTUAL_DATE></EPL_LOAD_END_ACTUAL_DATE> <EPL_LOAD_END_ACTUAL_TIME></EPL_LOAD_END_ACTUAL_TIME> <EPL_LOAD_DISTANCE_PLANNED></EPL_LOAD_DISTANCE_PLANNED> <EPL_LOAD_DISTANCE_ACTUAL></EPL_LOAD_DISTANCE_ACTUAL> <EPL_VEHICLE_ID></EPL_VEHICLE_ID> <EPL_USER_ID></EPL_USER_ID> <EPL_STATUS></EPL_STATUS> <EPL_MILEAGE_START></EPL_MILEAGE_START> <EPL_MILEAGE_END></EPL_MILEAGE_END> <EPL_LAST_CHANGED_DATE></EPL_LAST_CHANGED_DATE> <EPL_LAST_CHANGED_TIME></EPL_LAST_CHANGED_TIME> <EPL_UDF_LOAD_START></EPL_UDF_LOAD_START> <EPL_UDF_LOAD_END></EPL_UDF_LOAD_END> <EPL_LOAD_INFORMATION></EPL_LOAD_INFORMATION> <EPOD_JOBS>...</EPOD_JOBS> <EPOD_LOAD>
The EPOD_JOB DAL object will be modified to add any additional addresses to any exports to the PDA - any other existing EPOD_JOB XML formats will be unaffected (e.g. Extracts of data through ePOD_Data_Service.asmx).
The additional address details will be exported if:
- The new EPOD_SITE flag EPL_PDA_FULL_ADDRESSES is set to "Y"
- A record exists on EPOD_JOB_ADDRESSES where its EPL_JOB_TYPE value is not the EPL_JOB_TYPE of the job.
A single EPOD_JOB_ADDRESS tag and contents will be produced for each address found that matches.
The XML export format in this case will be as follows:
<EPOD_JOBS> <EPOD_JOB> <EPL_SITE_ID></EPL_SITE_ID> <EPL_JOB_ID></EPL_JOB_ID> <EPL_LOAD_ID></EPL_LOAD_ID> <EPL_JOB_TYPE></EPL_JOB_TYPE> <EPL_JOB_GROUP></EPL_JOB_GROUP> <EPL_JOB_INSTRUCTION></EPL_JOB_INSTRUCTION> <EPL_JOB_SIGNATURE></EPL_JOB_SIGNATURE> <EPL_REASON_CODE></EPL_REASON_CODE> <EPL_STATUS></EPL_STATUS> <EPL_CUSTOMER_CODE></EPL_CUSTOMER_CODE> <EPL_PHOTO_ID></EPL_PHOTO_ID> <EPL_ENG_SIGNATURE></EPL_ENG_SIGNATURE> <EPL_SEQUENCE></EPL_SEQUENCE> <EPL_START_PLANNED_DATE></EPL_START_PLANNED_DATE> <EPL_START_PLANNED_TIME></EPL_START_PLANNED_TIME> <EPL_END_PLANNED_DATE></EPL_END_PLANNED_DATE> <EPL_END_PLANNED_TIME></EPL_END_PLANNED_TIME> <EPL_START_ACTUAL_DATE></EPL_START_ACTUAL_DATE> <EPL_START_ACTUAL_TIME></EPL_START_ACTUAL_TIME> <EPL_END_ACTUAL_DATE></EPL_END_ACTUAL_DATE> <EPL_END_ACTUAL_TIME></EPL_END_ACTUAL_TIME> <EPL_DISTANCE_PLANNED></EPL_DISTANCE_PLANNED> <EPL_DISTANCE_ACTUAL></EPL_DISTANCE_ACTUAL> <EPL_DRIVING_TIME></EPL_DRIVING_TIME> <EPL_CUSTOMER_NAME></EPL_CUSTOMER_NAME> <EPL_JOB_ADDRESS></EPL_JOB_ADDRESS> <EPL_ADDRESS_1></EPL_ADDRESS_1> <EPL_ADDRESS_2></EPL_ADDRESS_2> <EPL_ADDRESS_3></EPL_ADDRESS_3> <EPL_ADDRESS_4></EPL_ADDRESS_4> <EPL_ADDRESS_5></EPL_ADDRESS_5> <EPL_POSTCODE></EPL_POSTCODE> <EPL_CONTACT></EPL_CONTACT> <EPL_TELEPHONE></EPL_TELEPHONE> <EPL_EMAIL></EPL_EMAIL> <EPL_INVOICED></EPL_INVOICED> <EPL_CUST_SIGNATORY></EPL_CUST_SIGNATORY> <EPL_JOB_CODE></EPL_JOB_CODE> <EPL_CUST_REF></EPL_CUST_REF> <EPL_OFFICE_INSTRUCTION></EPL_OFFICE_INSTRUCTION> <EPL_SIGNED_UNCHECKED></EPL_SIGNED_UNCHECKED> <EPL_SO_NUMBER></EPL_SO_NUMBER> <EPL_ORDER_DATE></EPL_ORDER_DATE> <EPL_SALES_CONTACT></EPL_SALES_CONTACT> <EPL_USER_NOTES></EPL_USER_NOTES> <EPL_OWNER_NAME></EPL_OWNER_NAME> <EPL_SERVICE_LEVEL></EPL_SERVICE_LEVEL> <EPL_LAST_CHANGED_DATE></EPL_LAST_CHANGED_DATE> <EPL_LAST_CHANGED_TIME></EPL_LAST_CHANGED_TIME> <EPL_ARRIVAL_DATE></EPL_ARRIVAL_DATE> <EPL_ARRIVAL_TIME></EPL_ARRIVAL_TIME> <EPL_XF_VALUES></EPL_XF_VALUES> <EPL_EXT_REF></EPL_EXT_REF> <EPL_TRAILER_ID></EPL_TRAILER_ID> <EPL_PF_DEPOT></EPL_PF_DEPOT> <EPL_PF_TRACKING_NO></EPL_PF_TRACKING_NO> <EPL_JOB_STATUS></EPL_JOB_STATUS> <EPL_UDF_JOBDETS></EPL_UDF_JOBDETS> <EPOD_JOB_ADDRESS> <EPL_ADDRESS_TYPE></EPL_ADDRESS_TYPE> <EPL_ADDRESS_1></EPL_ADDRESS_1> <EPL_ADDRESS_2></EPL_ADDRESS_2> <EPL_ADDRESS_3></EPL_ADDRESS_3> <EPL_ADDRESS_4></EPL_ADDRESS_4> <EPL_ADDRESS_5></EPL_ADDRESS_5> <EPL_POSTCODE></EPL_POSTCODE> <EPL_CONTACT></EPL_CONTACT> <EPL_TELEPHONE></EPL_TELEPHONE> <EPL_EMAIL></EPL_EMAIL> <EPOD_JOB_ADDRESS> <EPOD_CONTAINERS /> <EPOD_SERVICES /> </EPOD_JOB> </EPOD_JOBS>
Import/Export Messages
Both the dataservice and PDA web request servers (ePOD_DataService.asmx, ePOD_DataService2.asmx and Calidus_ePOD.asmx) and the AutoExport applications will need to import and export the new field EPOD_LOAD.EPL_LOAD_INFORMATION in their XML requests. This should be handled by the DAL changes above. The responses affected are:
- AutoExport:
- EPOD_EXPORT_LOAD
- ePOD_DataService:
- EPOD_EXPORT_LOAD_RESPONSE
- Calidus_ePOD:
- LOAD_RESPONSE
- AUTO_UPDATE_RESPONSE
Both the dataservice and PDA web request servers (ePOD_DataService.asmx, ePOD_DataService2.asmx and Calidus_ePOD.asmx) and the AutoImport application will need to import the new field EPOD_JOB_ADDRESS tag and contents in their XML requests. This should be handled by the DAL changes above. The responses affected are:
- AutoImport and ePOD_DataService:
- EPOD_XML_IMPORT
- Calidus_ePOD:
- JOB_LOCK_RESPONSE
- LOAD_RESPONSE
- AUTO_UPDATE_RESPONSE
The processing of import jobs (in AutoImport and ePOD_Dataservice) must be modified to update these new tags. The EPOD_JOB tag contents will now look like this:
<EPOD_JOB> <EPL_SITE_ID></EPL_SITE_ID> <EPL_LOAD_ID></EPL_LOAD_ID> <EPL_JOB_ID></EPL_JOB_ID> <EPL_JOB_CODE></EPL_JOB_CODE> <EPL_JOB_TYPE></EPL_JOB_TYPE> <EPL_JOB_GROUP></EPL_JOB_GROUP> <EPL_CUST_REF></EPL_CUST_REF> <EPL_JOB_INSTRUCTION></EPL_JOB_INSTRUCTION> <EPL_OFFICE_INSTRUCTION></EPL_OFFICE_INSTRUCTION> <EPL_START_PLANNED_DATE></EPL_START_PLANNED_DATE> <EPL_START_PLANNED_TIME></EPL_START_PLANNED_TIME> <EPL_END_PLANNED_DATE></EPL_END_PLANNED_DATE> <EPL_END_PLANNED_TIME></EPL_END_PLANNED_TIME> <EPL_DISTANCE_PLANNED></EPL_DISTANCE_PLANNED> <EPOD_CUSTOMER></EPOD_CUSTOMER> <EPL_CUSTOMER_CODE></EPL_CUSTOMER_CODE> <EPL_CUSTOMER_NAME></EPL_CUSTOMER_NAME> <EPL_ADDRESS_1></EPL_ADDRESS_1> <EPL_ADDRESS_2></EPL_ADDRESS_2> <EPL_ADDRESS_3></EPL_ADDRESS_3> <EPL_ADDRESS_4></EPL_ADDRESS_4> <EPL_ADDRESS_5></EPL_ADDRESS_5> <EPL_POSTCODE></EPL_POSTCODE> <EPL_CONTACT></EPL_CONTACT> <EPL_TELEPHONE></EPL_TELEPHONE> <EPL_EMAIL></EPL_EMAIL> <EPOD_JOB_ADDRESS> <EPL_ADDRESS_TYPE></EPL_ADDRESS_TYPE> <EPL_ADDRESS_1></EPL_ADDRESS_1> <EPL_ADDRESS_2></EPL_ADDRESS_2> <EPL_ADDRESS_3></EPL_ADDRESS_3> <EPL_ADDRESS_4></EPL_ADDRESS_4> <EPL_ADDRESS_5></EPL_ADDRESS_5> <EPL_POSTCODE></EPL_POSTCODE> <EPL_CONTACT></EPL_CONTACT> <EPL_TELEPHONE></EPL_TELEPHONE> <EPL_EMAIL></EPL_EMAIL> <EPOD_JOB_ADDRESS> <EPL_OWNER_NAME></EPL_OWNER_NAME> <EPL_SO_NUMBER></EPL_SO_NUMBER> <EPL_ORDER_DATE></EPL_ORDER_DATE> <EPL_ORDER_TIME></EPL_ORDER_TIME> <EPL_SALES_CONTACT></EPL_SALES_CONTACT> <EPL_SERVICE_LEVEL></EPL_SERVICE_LEVEL> <EPL_TRAILER_ID></EPL_TRAILER_ID> <EPL_JOB_STATUS></EPL_JOB_STATUS> <EPL_USER_ID></EPL_USER_ID> <EPL_EXT_REF></EPL_EXT_REF> <EPL_COL_DATE></EPL_COL_DATE> <EPL_SEQUENCE></EPL_SEQUENCE> <EPL_LINKED_ID></EPL_LINKED_ID> <EPOD_CONTAINERS></EPOD_CONTAINERS> <EPOD_PRODUCTS></EPOD_PRODUCTS> <EPOD_SERVICES></EPOD_SERVICES> </EPOD_JOB>
This processing should be added after the creation of any existing addresses and customers.
If the new tag is present, the processes should check to see if an EPOD_JOB_ADDRESS record of that type already exists for this job and address type (mapped to EPL_JOB_TYPE). If it does not, then the processes should create an EPOD_JOB_ADDRESS record at this time.
The responses to PDA requests for job information (listed above) will produce XML in the format shown in the previous section.
Note: All XSDs should be modified to include the new fields, along with standard documentation. This includes but is not limited to:
- XMLUpload.xsd
The new EPOD_LOAD field EPL_LOAD_INFORMATION should be added as follows, as the last item before EPOD_JOBS are specified:
<xsd:element type="xsd:string" name="EPL_LOAD_INFORMATION" nillable="true" minOccurs="0"> <xsd:annotation> <xsd:documentation> To be populated with any information to be displayed to the user regarding the Load. </xsd:documentation> </xsd:annotation> </xsd:element>
The new Address elements should be added to the XSDs, in all places where EPOD_JOB is specified. All elements should be added as per their existing counterparts in the main message, with EPL_ADDRESS_TYPE being created with a similar definition as EPL_JOB_TYPE, as follows:
<xsd:element name="EPOD_JOB_ADDRESS" nillable="true" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="EPL_ADDRESS_TYPE" nillable="false" minOccurs="1"> <xsd:annotation> </xsd:annotation> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value="D"/> <xsd:enumeration value="C"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="EPL_ADDRESS_1" nillable="false" minOccurs="1"> <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_ADDRESS_5" 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:maxLength value="8" /> </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>
Admin Changes
The Site screen site_header.aspx will be modified to allow the system to be configured for:
- Send Full Addresses - add field EPL_PDA_FULL_ADDRESSES to the PDA tab as a check-box.
Note: Ensure as part of this change that the existing check-boxes line up.
Note: No changes will be made at this time to display or allow entry of the new address types against a job - this is not required and is a function of messages interface to CALIDUS ePOD from external sources e.g. CALIDUS TMS.
PDA Changes
PDA DAL/Database Changes
The existing EPOD_LOAD table will be modified to add the new field as follows:
- EPL_LOAD_INFORMATION, ntext, default "".
This field will not be added to the XML export back to the server.
The existing EPOD_JOB table will be modified to add the new fields as follows:
- New address fields, for those who have it.
- EPL_ALT_ADDRESS_LINE_1/2/3/4/5, nvarchar(40), default "".
- EPL_ALT_POST_CODE nvarchar(8), default "".
- EPL_ALT_PHONE_NO nvarchar(50), default "".
Note: It is not necessary at this time to add the new flag EPL_PDA_FULL_ADDRESSES to the EPOD_SITE table, or to any functions that create the record, as this flag is not required on the device.
Job List
After Load Metrics have been entered (if required), the device will display the Job List screen.
The screen must display load-level information, but will operate differently when the device is in Portrait or Landscape mode.
In Landscape mode, the view to display this Load information already exists, and is populated by an existing function.
This view and function will be modified to:
- Remove the existing planned load date and time
- Add the Load information
In Portrait mode, the device will display to the driver the Packaging requirements for the whole load by adding a call-back to the existing Metrics function, which displays a pop-up Load Information window, if there is anything in the new EPL_LOAD_INFORMATION field. This window will be show the Landscape view with some extra functionality, as described below:
- A title (Load: EPL_LOAD_ID)
- A view containing information about the Load, including:
- Total number of jobs on the Load.
- User and Vehicle (the descriptions of the associated EPL_USER_ID and EPL_VEHICLE_ID records)
- Any Load Information, with formatting preserved from the incoming message.
- A Close button.
The window should be scrollable and fixed to the normal pop-up windows size.
If there is no data in the EPL_LOAD_INFORMATION field, The Load Information label should not be created.
The label should be size to the height of the contents within it.
The Close button, when pressed, will clear the pop-up and the jobs on this Load will be displayed in the Job List screen.
The title label of the Job List screen should be modified to indicate that there are instructions for this load, through an icon on the right of the title. This should display as a white letter 'i' in a circle. The picture should have a transparent background, to show the background of the title.
Pressing this Information image should display the Load Information pop-up.
The menu on this screen should also be modified to show these instructions. The menu item should be labelled "Instructions" and have the information image above associated with it.
No changes are required to the Job List layouts - this has been completed under other specifications. The Job Identifier will display as that configured through EPL_JOB_DISP_ID, again specified elsewhere.
No changes are required to the way that load modifications from the server are highlighted to the user.
Job Details
The Job Details screen will be configured to display the customer's reference for the job in the title of the screen, through EPL_JOB_DISP_ID, specified elsewhere.
The Instructions tab will be modified to add a new resizeable UDF item under the existing instructions, for each job. Furthermore, the existing Instructions label will be added for each job, rather than a single consolidated label for all jobs. Note: This directly contradicts the changes as specified in Job Consolidation (AUNZ-018, referenced in Appendix A) - this functionality takes precedence.
The whole window will be made into a scrolling view (if it is not already due to other changes).
If no packaging information exists for the job, a UDF object will not be added for this job. If no Instructions information exists for the job, an Instructions label will not be added for this job.
All objects added will be full width, but will resize in height to the contents.
If there are multiple jobs, the packaging information should be added for each job in sequence.
If there are multiple jobs, a title label will be added to each set of information displayed, showing "Job: EPL_DISP_JOB_ID".
No changes are required to the way that load modifications from the server are highlighted to the user.
Collection/Delivery
If the LFS style is selected on the device, the screen will move to the Containers (Packages) tab after the screen has been created.
The pop-up Container Information screen (accessible by long-pressing against a container in the table and selecting Info from the pop-up menu) will be modified to display the label of item EPL_CODE_1 of EPL_CONTAINER as "Dims", EPL_DESCRIPTION_LONG as "Commodity" and EPL_CONTAINER_PACKAGE_CODE as "Shipping Temp". This will be achieved through the custom LabelIDs object of the LFS style.
Each tab on the Collection/Delivery screen will be configured to display the customer's reference for the job in the title of the screen, through EPL_JOB_DISP_ID, specified elsewhere.
The Job Details tab of this screen displays the Contact and Instruction information - the contact area has been extended to show a Tabbed area in other specifications, which will be extended again as follows:
- Tab 1 - Info
- Contact
- Telephone
- Planned Start Date Time
- Tab 2 - Job Address - the address to which you have just travelled.
- Tab 3 - Collection/Delivery Address
The new tab 3 will only be added if this information has been passed to CALIDUS ePOD.
The title of tab 3 will depend on the type of job being displayed.
- For a Delivery job, this will say "From"
- For a Collection job, this will say "To"
The information on this tab will be taken from the additional address information passed to the device, and stored in the following fields:
- EPL_ALT_ADDRESS_LINE_1/2/3/4/5
- EPL_ALT_POST_CODE
- EPL_ALT_PHONE_NO
In all other ways, the layout of this tab will be identical to the Job Address tab.
The Container text entry field will be modified to trigger an automatic click of the Collect/Deliver button, to ensure that those devices with a scanner (such as the Intermec CN51, expected to be in use for this operation) will immediately enter the item once scanned. This requires the scanned to be configured correctly (i.e. to have a Return tagged on the end of the barcode content). Note that this functionality will also work if the user presses the Enter button on the keyboard.
Signature Capture
If the device is configured in the style of LFS:
- The Signatory text-box will not be defaulted from the customer contact - this will be left blank, by setting the default to EPL_SIGNATORY rather than EPL_CONTACT. The user must be forced to enter this in the box before signature can be successfully confirmed.
- A label will be added behind the signature. "ORDER RECEIVED IN FULL AND GOOD CONDITION" will be displayed behind the signature. The signature box will be made partially transparent to show this text. The transparency should be applied to the view rather than the image, as a transparent image will cause issues with reports. See the opacity property in the documentation for more information.
If the signature is being captured for a consolidated group of jobs, a tab will be added to the lower section of the screen, labelled as Jobs. This will display the total number of jobs being signed for, and a list of all the delivered job references. This will be added in a similar way to the existing tabs on this screen - particular attention must be made to any other parts of the screen that reference the tabs directly - this will now have to be through reference to an object list. For example, if the screen references tab 1 and expects it to be the Containers tab, this is now incorrect. Instead, create a tabref object, which puts the key value (1) in a property named as the name of the tab ("Containers"). Then, whenever referencing a tab on this this object, use the tabref object rather than the direct key (i.e. look up the value for "Containers" in the tabref object so: tab = tabref("Containers"). This tabref object can be added to the existing customer tab object used to create the tabs originally.
The Pallets (Containers) tab will be modified to show the total number of packages being signed for, by changing the ID label on the table from "ID" to "ID (Total: X)", where X is the total number of delivered packages only (i.e. not cancelled)
Note: As LFS have no loose products to deliver and no products within packages to scan, there will be no Products tab displayed on this screen.
Sample screenshots and layouts:
Appendix A: Quote & Document References
Cost Details | ||||
Activity | Estimate No. of Days |
No. of Days | Rate per Day (£) | Cost (£ Exc. VAT) |
Requirements | 0.00 | 0.00 | 0 | £0.00 |
Change Request Evaluation | 0.00 | 0.00 | 0 | £0.00 |
Functional Specification | 0.00 | 3.50 | 0 | £0.00 |
Technical Specification | 0.00 | 0.00 | 0 | £0.00 |
Development | 0.00 | 10.50 | 0 | £0.00 |
Testing and Release | 0.00 | 2.00 | 0 | £0.00 |
Implementation | 0.00 | 0.25 | 0 | £0.00 |
Project Management | First argument to "number_format" must be a number. | First argument to "number_format" must be a number. | 0 | £First argument to "number_format" must be a number. |
TOTAL | First argument to "number_format" must be a number. | First argument to "number_format" must be a number. | £First argument to "number_format" must be a number. |
Estimate excludes training, release to live and go live support. |
A.1 References
Ref No | Document Title & ID | Version | Date |
1 |
A.2 Glossary
Term | Definition |
---|---|
EPOD | Electronic Proof of Delivery. The OBS EPOD system is CALIDUS ePOD. |
CALIDUS eSERV | The OBS mobile system to complete Service functionality in the field. This is part of the CALIDUS ePOD system. |
PDA | The mobile device on which the C-ePOD system will run in the field. This can be a Phone, EDA or industrial PDA, running Android. |
DAL | Data Access Layer. A mechanism for accessing data by the system that is removed from the application, allowing for simplified access and providing protection to the data, as only approved DAL methods can be used to modify it. |
GPS | Global Positioning System. A mechanism of retrieving accurate positioning information in the form of Latitude and Longitude (Lat-Long) co-ordinates from a device. |
GPRS, 3G, HSDPA, Data Service | All terms referring to mobile device network connectivity, and the speed at which the device connects to the internet. |
A.3 Authorised By
Matt Tipping | Project Manager | _____________________________ |
____________________(PRINT) | Client Representative | _____________________________ |