Pool Point
From UG
Contents
|
Info
"Pool Point" is a project. Main goal is to add Pool Point concept to the CT2 system.
First attempt was in 2010. See #Ver 1. This was never implemented.
Second attempt is current (2013). See #Ver2.
Ver 1
This section was commented out.
Mantis: 2597
This has been put on Hold = Status X as MO wants for Descartes to provide this feature.
Business Requirements
This about adding the concept and functionality into CT2 for pool point shipments according to the Arden domestic business process.
Core Business Need: Currently the Arden domestic team is using the TMS to create and tender loads from the same origin company/city going to VA and/or ME by using a pool point. One trucker who collects all of the pickups through out the day and another trucker who picks up all of them to deliver. Since the Arden team creates multiple pool point loads throughout the day from different origins, the TM will always create 2 loads - one from the pickup location to the pool point and the other from the pool point to the delivery location. But in reality the delivery will only be 1 or maybe 2 trailer loads, as the pool point has consolidated them and this is causing inaccurate trailer counts for reporting purposes.
Pool Point Criteria
Currently there is 1 pool point - Jewels Transportation, who are in Newark, NJ. They collect all of the Tri-State area (NY, NJ, CT) pickups and once the shipments are back in their warehouse, they load empty trailers for the delivery carriers (Lawrence Transportation &/or Albert Farms).
There is a multi level process on how the system should check to see if a shipment should route through a pool point.
- 1st the system should check CT record against the #PP_conditions
- If CT record meets the #Regular_conditions, the system should not route through the pool point.
- If record meets the #PP_conditions the system should route through the pool point.
Note: It is possible that CT record meets the #PP_conditions and the business side does not want to send through the pool point for a few different reasons.
- One reason could be that the shipment is very urgent.
- Another reason could be that it's not cost effective, as the size of the shipment (number of pallets and gross weight) are high, but fall into the exception category.
Exceptions
The system would check the CT record to see if it meets the Exception Criteria of the #PP_conditions.
If Y, the system should:
- Not send to the TM
- Give some sort of an alert on the TDS
- Give option to users to route through pool point or not
- Upon users confirmation, send to TM accordingly
PP conditions
I somewhat defined the conditions under #Pool_Point_Criteria and have better defined them here. If a CT record meets the following criteria and is less than the exception criteria below, then the shipment should route the CT through a pool point.
If CT record CT_bo#Shipper_State = NY, NJ, or CT
- And CT_bo#Consignee_State = VA OR ME
- And Commodity#Plts > 60
- And Commodity#Stackable = Y
- And Commodity#Gross_Lb is > 44,000 lbs
OR
If CT record CT_bo#Shipper_State = TN, GA, NC, SC, or VA
- And CT_bo#Consignee_Address = NY, NY (Manhattan, aka NYC)
- And Commodity#Plts > 60
- And Commodity#Stackable = Y
- And Commodity#Gross_Lb is > 44,000
OR
If CT record CT_bo#Shipper_State = NY, NJ, or CT
- And CT_bo#Consignee_State = VA or ME
- And Commodity#Plts > 28
- And Commodity#Stackable = N
- And Commodity#Gross_Lb is > 44,000
OR
If CT record CT_bo#Shipper_State = TN, GA, NC, SC, or VA
- And CT_bo#Consignee_Address = NY, NY (Manhattan, aka NYC)
- And Commodity#Plts > 28
- And Commodity#Stackable = N
- And Commodity#Gross_Lb is > 44,000 lbs
Exception Criteria:
CT record meets #PP_conditions but has:
- Commodity#Plts > 28 but < 20
- And Commodity#Stackable = N
- And Commodity#Gross_Lb is > 44,000 lbs
OR
CT record meets #PP_conditions but has:
- Commodity#Plts > 60 but < 35
- And Commodity#Stackable = y
- And Commodity#Gross_Lb is > 44,000 lbs
Regular conditions
If CT record CT_bo#Shipper_State = NY, NJ, or CT
- And CT_bo#Consignee_State = VA OR ME
- And Commodity#Plts = 60
- And Commodity#Stackable = Y
- And Commodity#Gross_Lb = 44,000 lbs
OR
If CT record CT_bo#Shipper_State = TN, GA, NC, SC, or VA
- And CT_bo#Consignee_Address = NY, NY (Manhattan, aka NYC)
- And Commodity#Plts = 60
- And Commodity#Stackable = Y
- And Commodity#Gross_Lb = 44,000
OR
If CT record, CT_bo#Shipper_State = NY, NJ, or CT
- And CT_bo#Consignee_State = VA or ME
And Commodity#Plts = 28 And Commodity#Stackable = N And Commodity#Gross_Lb = 44,000
OR
If CT record CT_bo#Shipper_State = TN, GA, NC, SC, or VA
- And CT_bo#Consignee_Address = NY, NY (Manhattan, aka NYC)
- And Commodity#Plts = 28
- And Commodity#Stackable = N
- And Commodity#Gross_Lb = 44,000 lbs
Use Cases
UC 1 CT Record 5 is shipping from NJ, at 56 stackable plts at 41000 lbs.
This CT's criteria would be an "exception" under the #PP_conditions and Jag Operator will review if CT needs to go through a PP or not.
UC 2 CT Record 2 is shipping from NY, at 3 plts at 325 lbs.
This CT's criteria meets the #PP_conditions and no need for Jag operator to review, it should send automatically to the TM sub CT records 2a & 2b.
UC 3 CT Record 9 is shipping from NJ at 15 stackable plts at 11000 lbs
This CT's criteria meets the #PP_conditions in full as it is also less then the exceptions criteria and is sent to the TM as sub CT records 9a & 9b.
Jag operator checks to find that if they were to route this through the PP, it would cost Elizabeth Arden more money than if they were to route by sending a truck load.
Now jag operator needs to cancel the sub CT records (9a & 9b) that were sent to the TM and has to route the CT record # 9 as if it was sent to the TM under the #Regular_conditions.
Descartes advised if/when an operator cancels a shipment # (CT record) in the TM, they cannot send any type of status message back to CT, as they only send message once a shipment (CT record) is apart of a load.
So in this case, there is no need to use the sub CT records 9a & 9b. So how these “sub CT records” (the a & b) be handled from our side, as Descartes cannot provide an update message that the shipments were canceled in the TM?
UC 4 CT Record 6 is shipping from CT at 1 plt at 125 lbs
This CT's criteria meets the #PP_conditions and is sent to the TM as sub CT records 6a & 6b.
An hour later, Jag operator receives an e-mail or phone call from Elizabeth Arden who says that this shipment is needed ASAP at their facility.
Jag operator checks with PP trucker & delivery trucker to see if they can get this picked up today and delivered tomorrow, but pickup trucker cannot pickup today.
Now jag operator needs to cancel the sub CT records (6a & 6b) that were sent to the TM and has to route the CT record # 6 as if it was sent to the TM under the #Regular_conditions.
Descartes advised if/when an operator cancels a shipment # (CT record) in the TM, they cannot send any type of status message back to CT, as they only send message once a shipment (CT record) is apart of a load.
So in this case, there is no need to use the sub CT records 9a & 9b. So how these “sub CT records” (the a & b) be handled from our side, as Descartes cannot provide an update message that the shipments were canceled in the TM?
Design Ideas
Have the system check every approved CT record to see if meets the #Pool Point Criteria before sending them to the TM.
- If record meets the #Pool Point Criteria:
- the system create 2 sub records of the same CT record in the background.
- One from the pickup location to the pool point.
- Another from the pool point to the deliver to location.
- Then send the 2 background records to the TM for Jag operators to create loads and tender to carriers.
- the system create 2 sub records of the same CT record in the background.
- When TMS load plans are received & status messages, the system would update the original CT # 121245 only as the 2 are sub records in the background.
IE: CT 121245 has 8 pallets at 1500 lbs, coming from Edison, NJ and is going to Roanoke, VA. The system would creates CT # 121245a at 8 pallets at 1500 lbs, coming from Edison, NJ going to the pool point, Jewels Transportation in Newark, NJ and send to the TMS. At that same time, the system would create CT # 121245b at 8 pallets at 1500 lbs, coming from the pool point Jewels Transportation in Newark, NJ, going to the deliver to location in Roanoke, VA and send to the TMS.
- Need some sort of a way to "override the systems pool point decision" in the case of business needs.
SA Notes
Summary
- 1) Add admin panel Pool Point with Pool Point adresses and states criteria, the total number of pallets & total gross weight criteria.
- (do we need to add Exceptions criteria to admin panel or its must be hardcoded ?)
- Answer 1: Yes, pls add to admin panel, do not hard code so we may change if necessary according to business rules
- (do we need to add Exceptions criteria to admin panel or its must be hardcoded ?)
- 2) what should we to do if CT was edited (total GW and other) ?
- Answer 2: Recheck the changes to see if it makes any difference according to the pool point criteria.
- If yes, do not send the changes to TMS and give some sort of message to the internal user, so they can update according to the business process.
- If no, send the changes to TMS, the same way we handle it now.
- To advise, it would be only the internal users who would make changes to this information.
- Answer 2: Recheck the changes to see if it makes any difference according to the pool point criteria.
- 3) Can TMS work with CT# that contains characters? by example, '111111a'.
- Answer 3: Yes they can work with alphanumeric shipment #'s
Implementation
What we need to do in:
Admin
Add admin tab with tables:
- 1) Pool Points:
- Name
- Adress
- 2) States criteria:
- original state,
- destination state,
- Pool Point.
- 3) Parameters (min(for request operator) , max (for reject Pool Point)):
- Total gross weight,
- Total pallet count (non-stack),
- Total pallet count (stackable)
Shipments
- New CT fields (GenTab ?):
- Pool Point
- Actual Pool Point Delivery Date
- Actual Pool Point PickUp Date
TDS dashboard
- add collumn "Pool Point" with number of approved CTs whose need operator's attention to create Pool Point.
LA Notes
PP - Pool Point.
3 cases
Looks like we have 3 cases:
- CTs that must be routed automatically through PP (#PP algorithm), see #PP conditions
- CTs that must be routed as "regular CT" (#Regular algorithm), see #Regular conditions
- human intervention required (#Exception algorithm), see #Exception conditions
Regular algorithm
- forward CT as it gets approved directly to TMS
PP algorithm
- for one CTX create 2 "child records": one CTXa from Pick Up to PP, another CTXb from PP to Delivery
- forward CTXa to TMS for immediate processing (need to order pick up ASAP)
- forward CTXb to TMS for later processing (operator will order pick up from PP to delivery at "Pool time" in TMS)
Pool time
In general it would be some kind of schedule regulating when to move CTs accumulated at PP and route various destinations.
In case of "Jewels pool point" it happens once a day at 4pm.
This should not be captured in the system.
Exception algorithm
Post every such CT on special dashboard
Several times a day before Pool Time operators will examine CTs posted to dashboard. Per CT or group of CTs they will make decision and direct system to use #Regular algorithm or #PP algorithm
Pick ups
TBD
RFP
Proposal required before coding.
Marc has asked Descartes to correct the TM according to our (and other customers) business needs and to put the CT2 PP concept on hold. --Denise 12:01, 9 December 2010 (EST)
-
Ver 2
Parent mantis: 4168
Definitions
Client Company
Company that contacted Jaguar to ask to assist in shipping some goods.
It will be billed by Jaguar.
CT
In CT2 system it is a certain amount of goods (aka commodities) combined together and associated with one shipment order made by a #Client Company.
It has a unique id# called CT# and properties such as weight, volume, Origin, Destination, etc.
Properties of commodities are defined in Commodity Table associated with CT. They are defined on one hand by packaging (pallets, loose count, etc) and on another hand by PO, SKU, Quantities.
MOT
MOT - Mode Of Transport.
In CT2 system it is a property of CT that classify it by several main categories.
For example:
- MOT= Air if it is a multimodal move "truck -> Air -> truck"
- MOT=Truck Air if it is an LDP Air move
CT Group
In CT2 system it is a number of CTs associated together. It is assigned a unique number (GRP#).
All CTs in the same group have same #MOT.
Shipment
See Sh#Shipment
Vehicle
It is a mobile machine that transports #CTs such as trucks, trains, ships, boats and aircraft.
Carrier
Company that operates #Vehicle.
Location
Location is a recorded in a CT2 system geographical position of #CT.
Not all locations are recorded in the system.
Location attributes
- Address
- Date of arrival of CT to this location
- Date of departure from this location
Location type
There are 3 types of locations:
- #Origin Door (required)
- #Stop (some type of stops are required for some #MOT)
- #Destination Door (required)
Origin Door
aka Pick Up Location
Location where CT is originally picked up.
Mapped to 5. Export Pick-up (T4)
Destination Door
aka Delivery Location
Location that is a final delivery destination for CT.
Mapped to 6. Export Delivery To (T5)
Stop
For given CT Stop is a temporary location to which #Carrier delivers it.
Later same carrier or another carrier picks CT up from there to move to another Stop or Destination Door.
Not all stops need to be recorded in the system. But some of them are mandatory (example: Port of Origin).
One special type of stop is a #Pool Point.
Pool Point
Pool Point is a special #Stop that is used for transferring and consolidation of CTs.
See example below.
Other important stops
- Air:
- Origin Airport
- Destination Airport
- Transshipment Airport
- Ocean:
- Origin Port
- Destination Port
- Misc:
- Terminal
- Warehouse
Leg
For given CT Leg is a one non-stop trip between Stops or between Origin Door and Stop or between Stop and Destination Door. It is done on the same #Vehicle with the same #Carrier.
Leg as entity has the following attributes:
- Origin
- Destination
- transport mode (air vs LTL vs ... ), this is different from #MOT !
- Carrier
- Vehicle id (such as trailer id for MOT= Truck Dom)
Path
Full ordered sequence of #Legs that CT has.
Path could be:
Non Stop Path
CT is moving Non stop if it moves from #Origin Door to #Destination Door with one #Carrier without a #Stop.
In this case trip has one #Leg.
Multi Stop Path
In this case CT has at least one #Stop.
In some cases stops result in change of a carrier.
Such trips have more than one leg:
"Pick Up Location -> Stop1 -> Stop2 -> ... Stop N -> ... -> Delivery Location"
Ver 2 Business Needs
- add a concept of #Pool Point to CT2
- store them in the system with associated address and name
- when load info is passed from TMS to CT2:
- identify if this CT travels through #Pool Point
- tag CT as "delivered" / send "delivered" message to client users only if delivered to Delivery Location (not a Pool Point)
Above is possible due to recent fixes in TMS.
Above will eliminate workarounds operators have used so far to accommodate Pool Point moves.
Ver 2 Systems Analysis and Solution
Impact on ER Model
Decision is made to Implement #Multi Stop Path.
Now Truck - Domestic CT could be only part of one or two loads.
In case of two loads we are able to accomodate "Pick Up Trucker" (to Pool Point) and "Delivery Trucker" (from Pool Point) info:
- carrier name
- trailer id
It was suggested to increment ER structure to be able to collect info about #Multi Stop Path / multi leg trips.
For just 2 leg trips such as "Pick Up -> Pool Point/Stop -> Delivery" we could have created a simpler solution. But this would limit us in the future.
Note that this will be used across all MOTs in the future.
Impact on CT Editor
Idea:
- Re-factor table on Dates tab to include all relevant info
- This table will be somewhat different for these 3 cases below.
CT Editor in case of Descartes TMS Dom Trucking
- ! only this case to be implemented in this release !
- This is for our particular implementation of Descartes TMS
- Add "Dates/Locations" tab. On this tab display info defined below in a table like form
- Row in this table represents #Location with associated info for it and for each #Leg that initiates in that Location. Exception is the last row that represents only "final" Location (destination door)
- Columns:
- Location // #Location type - see below
- Address // Location address
- Status // If associated "Actual date" is defined then CT has reached (and possibly passed) this point and status is "actual". Else it is "estimated"
- Arrived // date of arrival to this Location; use Actual date if defined, else use estimated
- Departed // date of departure from this Location; use Actual date if defined, else use estimated
- Transp Mode // comes from TMS
- Carrier // trucker name, comes from TMS
- Vehicle id // trailer id, comes from TMS
- Load# // comes from TMS
- Pro number //comes from TMS
- Mock up:
CT Editor in case of non TMS Dom Trucking
Same as above but:
- operator adds rows in the table identifying Location types and associated info
- additional location types such as Warehouse and Stop
CT Editor in case of non Dom Trucking
- operator adds rows in the table identifying Location types and associated info
- more types of locations and legs that are associated with different MOTs such as Air and ocean (Examples: Ports/Airports, Terminals, etc)
CT Editor Open Questions
- Should we also edit through this table?
- Should we only edit through this table? (removing say Pick Up/Deliv Trucker from Gen Tab)
- In non-TMS case and other MOTs case this table is created by oper:
- adding locations/identifying what type of location
- need some validations such as delivery location must always be last, etc
Impact on Reports
Interface will not change.
Known reports affected:
- Main
- DR/KPIs
Impact on DRs
TBD
Impact on pdfs
None.
Impact on Accounting
TBD
Impact on EDI interface
Increment code to capture moves through Pool Point.
Use AddressTypeDesc="Pool Point" attribute/value pair of ShipToInformation.
Update DB.
Impact on Notifications
Notify client users only if delivered to Delivery Location.
Do not notify that delivered to Pool Point.
Impact on Est Module
For every new load 2 lines will be added into Est Table (for freight and other charges).
TMS Load Viewer
Roma/Alex suggest simple TMS Load Viewer.
By entering LD# into quick link user is served page with the following info:
- ld#
- Carrier
- List of CT# under this load
SOWs
SOW 1 Create architecture for Pool Point project
mantis: 0004228
spec: see #Ver 2
SOW 2 Implement Pool Point and related
mantis: 0004229
spec: see #Ver 2