PSA Development

Development of shipping/tracking plugin for shipping logistics company
No current use case scenairos

Can contact client but under guise of working for touchUnlimited

Reference Documentation:

Input Shipping Data  

3 ways to input data into the system

1) Webform

Done but needs better layout
Currently doesn't update with info from database (action error in the logs)
But can add new shipping information

2) Excel import

Sample excel import code
Need some type of mapping file (defined on the fly or at the least configurable?)

3) EDI (standard data exchange format)

using x12 standard EDI 315 and 310
315 for shipment progress/tracking
310 for shipment details, PO#, bill of landing #, port of loading etc.....
both 310 and 315 are stored in same folder with .315 and .310 file ext.

Stored on EDI providers ftp  server
need to periodically check the ftp account for updates
(php to grab file and upload to db)

so shipments can be created manually by web form, or 310 EDI
shipment_progress table is for 315 EDI
we grab 315 from FTP and parse info to this table
315 EDI Parser mostly done.

EDI 315 Details

10 ~ 14 EDI 315 (tracking) events for one shipment
for each event, there will be an EDI issued

EE Empty Container Dispatched to Pickup
I Ingate to CY/Terminal (Origin)
AP Loaded on Vessel (Transship)
AE Loaded on Vessel (Mother)
VD Vessel Departure (Transship)
VD Vessel Departure (Mother)
VA Vessel Arrival (Transship)
VA Vessel Arrival (Mother)
UV Unloaded from Vessel (Transship)
UV Unloaded from Vessel (Mother)
OA Outgate from CY/Terminal
I Ingate to CY/Terminal (Destination)
AL Loaded on Rail
RL Rail Departure
AR Rail Arrival
UR Unloaded from Rail
AV Available for Delivery
D Cargo Delivery to Final Destination (Not Actual time)
NF Freetime to be expired
FT Freetime expired
RD Emtpy Container Returned
CT Customs Release
CR Carrier Release
CU Customs & Carrier Release

pretty much in that order EE -> I -> AP -> AE

shipment_progress table will store all those info and indexed by container #

N9s are the B/L# and Booking #
vessel Code, Coyage #, Vessel Name from Q2
R4 which shows the places the ship stops
4 places for most of the shipments
but could have more

some basic container info at top and list of the shipment's location, time, place and status


Table for shipments
35 - 40 fields
unique # for each shipment

Table for shipment_progress, 
shipment_progress table is for 315 EDI
we grab 315 from FTP and parse info to this table

modify existing wordpress user functionality (already done in demo)

Output (reports)

2 tables for backend admin
1 datatable will show all the shipment fields
1 is called tracking report, which only shows about half of all fields

1 for frontend customers
for frontend customer, we show only that customer's shipments, both active and inactive ones
upon clicking on the shipment in shipment list, bring the customer to the UPS tracking-like report for that shipment


inputs are not escaped, codes are not sanitized
delete function is not implemented
create new shipment and updates are done
shipment list is using jquery datatable with server side processing
datatable jquery UI is enabled
and jquery datepicker is used for date format fields
those are all the fields for one shipment
however, client might add or remove fields after project start
added extra user meta for company info

tracking report, it will be pretty much the same as Shipments, but with less fields
user list is default wordpress feature and style