ASN 20 Solution
From UG
Contents
|
About
This wiki defines both Requirements and Solution for ASN 20 project.
Primary audience - Development Team (leads, developers) and Product Team (prod manager, business analysts).
Author: alex@jaguarfreight.com
Preliminary Remarks
Core Needs
Copied from #ASN 20 Requirements Log wiki.
ASN 20 will extend ASN 1.X to provide the following functionality - see below.
- extend Shipper / ASN / Planner / Jaguar Ops functionality to:
- other MOTs (Air, Ocean, etc)
- any Client Company
- add some additional features (such as Additional MOT Air approval)
- introduce some changes (such as FTL/LTL logic)
ASN 2.0 vs ASN 1.X
ASN 2.0 is an extension of ASN 1.X functionality.
This wiki maintains focus on explaining what to add and change without repeating in details what to carry over from previous version (ASN 1.X). At the same time I do briefly mention some of the major functionality that needs to be preserved.
ASN 2.0 vs International Portal
Originally this scope was kept under larger International Portal project. Most recently it was decided to extract ASN related functionality and implement it as soon as possible. This project is to be called ASN 2.0.
Some features that were developed or half-developed under I-Portal such as Flexible CT editor, merging of Client and Internal App were put on hold and are out of scope for this project.
Some features such as new User Roles Manager will be used for this module. But some adjustment is required (example: some Roles will be defined as Flexible and some as Built In).
Also we need to clearly define in the system option for Truck Domestic mode: TMS vs non-TMS.
Preliminary Tasks
Add TMS E0 attribute
Currently "TMS solution" supports only one Client Company (E0) at a time - we can not send shipments to TMS that are identified by more than one E0 - this case is not defined - no code or business process exists to handle this case properly. This restriction will remain in ASN 2.0.
We need to add parameter to the system that defines clearly what E0 "is linked to" Descartes TMS currently. This will help in :
- reporting
- for example for DR/KPI reporting we will know in this case what CTs are linked to cost that we receive from TMS vs costs entered by operators. It is important because we keep these costs in different database tables for these two cases.
- validation
- to make sure we do not send CTs from more than one E0 to TMS
See mock up below.
Add Role Type attribute: Built In vs User Defined User Roles
We have to distinguish between Built In and User Defined User Roles.
Also this should be obvious for the user - what role is of what type.
This is a new attribute of User Role Entity.
User Defined Role is a role that can be created and fully defined by user through Admin > Security > User Roles panel.
See UI changes on the Figure below:
1 - change button label
2 - add "Role Type" column
Add Generic Shipper and Generic Planner Built In User Roles
Currently the only Shipper and related Planner roles defined in the system are "EA Shipper" and "EA Planner". These are built in roles.
They currently support only Elizabeth Arden (EA) Domestic Trucking workflow.
Since it is intention to increment/change EA workflow and also to add support for any Client Company without distracting existing operations we need to create two new built in roles "Generic Shipper" and "Generic Planner" that would fully satisfy ASN 2.0 requirements.
See #3 and #4 on the Figure above.
Deploy this into production. After release we should:
- EA Shipper
- EA Planner
- Generic Shipper
- Generic Planner
At that point In production we could:
- start creating new Generic Shippers/Planners for any E0
- transfer all users from EA Shipper to Generic Shipper
- transfer all users from EA Planner to Generic Planner
- remove EA Planner, EA Shipper (in the following Rel to Prod)
Important Note to Developer ------------------------ Code should be re-used by both EA and Generic Shipper/Planners. Obviously we should not create separate similar code for EA vs Generic roles.
Add Portal entity
Portal
ASN Portal is created for particular Company and its Supply Chain. Example: EA.
Therefore we need to create such entity in the system so we can define all properties associated with it.
We could have used Client Company E0 for that purpose but unfortunately we sometimes create multiple E0s for same Company/Supply Chain. For example for EA we have:
- "EA DOM PORTAL" E0 for USA Trucking Domestic shipments
- "Elizabeth Arden" E0 for Air and Ocean shipments
So in the case above we will create Portal named "EA" and associate it with all relevant E0s: in this case "Elizabeth Arden" and "EA DOM PORTAL".
List of Portals
See mock up below.
Add Portal
See mock up below:
Edit or Delete Portal
Select portal from #List of Portals and apply action.
Make PO Issued By List Portal specific
Since every Supply Chain/Company has its own PO Issued By List it has to be defined in Portal profile - see #Add Portal, step 3.
Since approval type will be Portal specific we have to move related parameters there as well - - see #Add Portal, step 5.
Existing list is located under Admin > Transportation > PO Issued By.
It needs to be again defined for Portal once we migrate from EA Shipper to Generic Shipper.
Make SKU Map PO Issued By and Portal specific
Also now #SKU Map should become Portal specific - see #Add Portal, step 5.
Y vs N indicate if SKU Map is used for selected PO Issued By or not.
SKU Map is not required feature therefore default is N.
On "Add" the following pop-up will be produced - see #Re-design SKU Map.
Re-design SKU Map
SKU Map
"SKU Map" aka "SKU to Planner mapping" as defined in ASN 1X is a table (uploaded in the form of xls) that links unique SKU# to SKU description and to planners name.
It provides auto-suggest for SKU description on ASN form and planner filter for List CTs under Planners login.
It was required only for CTs that are associated with one particular PO Issued By value.
Link to ASN 1X spec: ASN_1.X#SKU_to_Planner_Mapping_Feature.
SKU Map browser
We need to add one simple important table: history of uploaded files with ability to View files and with these attributes per File entity:
- file-name
- file size
- time-stamp when uploaded
- who uploaded (username)
Currently, it is not possible to see even currently uploaded xls.
Figure below suggests possible UI design to satisfy stated functionality.
- Upload button - to upload new files.
- View button - to view existing.
Option with No:
Option with Yes:
Add Truck size entity
We need to create and manage new entity that lists various truck sizes.
UI: Add this as a tab to Admin > Transportation.
Typical values: 48 ft, 53 ft.
Shipper Related Functionality
New Shipper Profile
Shipper Profile General section
- E0. Client Company field
- change: now one Shipper could be linked to (create ASNs for) multiple E0
- Shipper (T1)
- remains the same
- Shipments weight in
- remains the same
See mock up below.
Shipper Profile Client Company specific section
See mock up above (tab is open for client "3Com").
For every E0 defined in General section we need to define approval, MOT and other options.
To accommodate that we allocate one panel per Client (use tabbed view, or any equivalent layout).
PO Issued by list is taken from E0 Client Company.
As you can see all options are PO Issued By specific and MOT specific (except AA and CDF which are only PO Issued By specific).
So for every PO Issued By three parameters needs to be defined:
- Approval Types(as defined in ASN 1.X; new types has been added)
- define separately per each MOT
- see list here: #Approval types
- value "NA" indicates that shipper can not create ASNs with this MOT (NA = Not Available)
- CDF: Cargo Due Feature on/off (#Cargo Due Date Feature)
- AA: Air Approval (new parameter; see #Air Approval Type)
TMS mode
If user selects TMS option then system must validate that E0 in Shipper profile is the same as defined in TMS Admin.
Create CT - Universal ASN Form
See Figure below.
ASN General Fields
See section marked #4 on Figure above.
We have to add one more field to this section: #Transport Mode.
Transport Mode
"Transport Mode" is a term we use for Shippers/Planners/external parties. It is equivalent to MOT.
Shipper will be given the following options when creating CT (see below). See also mapping into MOT.
Transport Mode = MOT:
- FTL = Truck Dom
- LTL = Truck Dom
- FCL = FCL(AW)
- LCL = LCL
- Air = Air
- LDP Air = Truck Air
- LDP FCL = Truck Ocean
- LDP LCL = Truck Ocean
Note to developer ----------------- There are options on how this list should be maintained in the system. Probably as Java constants. It is probably OK to hardcode the mapping above.
List of MOT choices is defined in #New Shipper Profile. MOT that are NA will not show up in dropdown.
ASN Commodity table
In ASN 20 Commodity table has one additional field: #Equipment.
Equipment
This attribute consists of two fields: size and type. They refer to container or truck.
See #2 on Figure above.
Equipment options will change depending on what Transp Mode is selected.
- For FCL it will give options for (container) size / type - this already exists in the system.
- For FTL it will give options for (truck) size - see new #Truck size entity.
- For all others it show "N/A" (not applicable) or hide this column.
For FCL and FTL it is a required field.
See also "IMPORTANT NOTE" on Figure above (#3). System can not validate this so we rely on Shippers to comply with this requirement.
On Save Logic
Preserve such logic defined in ASN 1.X:
- Preview Screen
- Confirmation Screen
See it defined here: ASN 1.X#Create_CT_record. (NOTE: This wiki might not be completely up to date, functionality in production is more relevant).
View list of CT records as a Shipper
Preserve existing logic. See ASN_1.X#View_list_of_CT_records_as_a_shipper.
Shippers UI in case of multiple E0s
In this case Shipper need to choose from the list of companies (see orange label) to see shipments for particular E0.
This is due to business requirement to not mix CTs with different E0s.
See mock up below.
Edit, Clone, Delete CT records as a Shipper
Preserve existing logic. See ASN_1.X#Core Shipper Functionality.
Notifications by Shipper
- email Notification: on ASN create (by Shipper) - email to Shipper
Planner Related Functionality
New Planner Profile
Each Planner is associated with multiple Portals.
Under each Portal we need to define his role separately for each PO Issued By.
See mock up below.
Planners that handle #Air Approval Type defined as Air Planners.
View list of CT records as a Planner
Preserve existing functionality: ASN_1.X#View_list_of_CT_records_as_a_planner
Planners UI in case of multiple E0s
Please apply same approach to UI as for Shipper in this case. Read and see see mock up here: #Shippers UI in case of multiple E0s
Add type of planner to UI
Add type of planner to Planner UI.
It should be a simple label. Examples:
- You are a Super Planner
- You are a Regular and Air Planner
Authorize CT records
Preserve existing functionality: ASN_1.X#Authorize_CT_records.
See also ASN_1.X#Double Approval Process Feature.
Add the following functionality - see below.
Approval types
- single - defined in ASN 1.X
- double - defined in ASN 1.X
- no approval - see #No Approval Type
- air approval - see #Air Approval Type
Air Approval Type
This is an additional layer of approval for Air shipments that is required before CTs become visible to Jag Ops.
CTs created by Shipper Users that have this approval type selected would require Planner User who's is "Air Planner" to approve these shipments.
No Approval Type
This is a.k.a. Auto Approval.
CTs created by Shipper Users that have this approval type selected would be automatically available for Jag Ops bypassing any approval layer (unless Air Approval is required).
Notifications by Planner
Preserve ASN 1X notification:
- on any approval related status assignment/change (by Planner) - email to Shipper
Jaguar Operator Related Functionality
There are number of changes required on internal for ASN 20 version. See below.
AR report
As in ASN 1X shipments that are approved (or not require approval) are ready for Transportation and need to come under radar of operators so that they can be handled.
This is achieved by Approved / Routed Dashboard Report (aka AR Report).
It is similar in spirit and functionality to TDS Dashboard in ASN 1X for TMS (Truck Dom Stats) shipments for EA.
Newly approved shipments should appear on DR and stay there until they are noticed and acted on by an operator.
NOTE(!): TMS CTs should not be a part of this report as they are part of TDS.
AR report level 1
Information is structured by Client and by #Transport Mode.
See mock up below.
For every such group of shipments two counters provided in the form of X/Y.
AR status
X and Y are two possible values for "AR status".
X - approved (but not yet routed);
Y - routed (but not yet departed);
Definitions:
- approved: CT "passed approval process" - approved by all planners involved or no approval was required
- routed: PU Trucker assigned OR CTs grouped OR Master created OR at least one Ref Num assigned
- departed: actual departure date is set
AR report level 2
Display (as on TDS):
- shipments with details (selected attributes)
- filters
Note that the following columns have been added in ASN 20:
- Orig country
- Dest country
- CBM
- Haz, Y/N
Add to table below and filters.
Please note that in comparison with TDS there are no tabs here for #AR status (Approved, Routed).
Instead there is a label identifying Client E0 and AR status.
See mock up below:
AR report on Reports Scheduler
This is a dashboard report.
Should be managed through Reports Scheduler.
Filters:
- E0 multiselect - limits list of client companies available on DR
- MOT multiselect - limits list of MOTs available on DR - see below
E-mail option was not requested so please disable that option.
Add some fields on Internal to Gen Tab
- Transport Mode
- Display #Transport Mode for operators on Gen Tab as read-only.
- Display near MOT.
- Label "ASN Transport mode"
- Created By
- display below Created On
- include login name
- Approved By
- display below Created By
- include login name
- #Approval Type
- display below Approved By
Notifications by Jag Ops
The following ASN 1X notification should remain:
- on Trucker assign (by Jag Ops) - email to Shipper
Misc
Part A
Add Clone User feature
We need to add Clone User feature.
It is required for this project because:
- new Shipper profile has many options to set and therefore it is time-consuming
- many shipper users will have similar profile
- we do not have mechanism in place to set Shipper values for multiple users at one time due to absence of such entity as Shipper Company with users linked to it
On UI level there would be "Clone" button on Admin > Users Admin panel.
Selecting one user and pressing "Clone" would open up Add New User panel with all info pre-populated from selected user but:
- username
- First / Last name
- password
- SkypeId
Note to Developer ----------------- We used to have this feature. After we merged Jag and Non-Jag profiles it disappeared. Search for this code and re-use if possible.
Add action to Virtual Group
Add one more action to Ops > Virtual Group component:
- create GRP
See mock up below.
System should provide info on what E0 and MOT will be used for new group.
System should provide Confirmation once group is created. Or display Error.
Add E0 specific Pick Up and Delivery Addresses
On ASN Form it would make most sense to display only Pick Up (Origin Door) and Delivery (Destination Door) Locations that are relevant to specific Supply Chain (E0).
These two lists could be defined in a Client Company profile.
One Shipper normally has many Pick Up and many Delivery Locations of course so wee need multiselect on UI.
Add these controls to a separate tab.
We also have to provide alternative to use addresses defined here or any address from Address book.
To achieve that:
- create 2 radio buttons separately for Pick Up and Delivery
- option 1: "Use addresses defined here"
- option 2: "Use Pick Up (T4 list) and Delivery Locations (T7 list) from CT2 Address Book"
Default is option 2 and therefore shippers will choose from any address available in the system.
[Mock Up TBD]
Add Standard Archiving and Logs
- For all new entity admins Standard Archiving functionality needs to be implemented
- All user actions needs to be logged using Standard Logs
Part B
Features below were added to ASN 20 scope at the end.
New Com feature
- Merge Com and E-Query and call it Com (for Client and Jag Ops role)
- Make new Com available to Shipper and Planner
Forward ASN to 3rd party
Add option to forward approved ASN to another company (to handle transportation instead of Jag Ops).
Options:
- send through e-mail with ASN info in attached xls
- send one ASN at a time
- send number of ASN in one xls
New Watch List
- enable this feature for Shipper
- have to modify it (example: CT nickname should be optional)
Tasks
Tasks Summary
Assuming 2 dev: Sasha + AK.
Suggested breakdown - see below - each line is one mantis.
Total number of tasks: 9 + 5 + 4 + 2 = 20.
Ideal sequence: Prelim > Shipper > Planner > Jaguar
Prelim 2.1 Add TMS E0 attribute 2.2 Add Role Type attribute: Built In vs User Defined User Roles 2.3 Add Generic Shipper and Generic Planner Built In User Roles 2.4 Make PO Issued By attribute Client Company specific 2.5 SKU Map 2.6 Clone User 2.7 Truck size entity 2.8 Add action to Virtual Group 2.9 Managing Pick Up and Delivery Addresses Shipper 3.1 New Shipper Profile 3.2 Create CT - Universal ASN Form 3.3 View list of CT records as a Shipper 3.4 Edit, Clone, Delete CT records as a Shipper 3.5 Notifications by Shipper Planner 4.1 New Planner Profile 4.2 View list of CT records as a Planner 4.3 Authorize CT records 4.4 Notifications by Planner Jaguar 5.1 AR report 5.2 Add Transport Mode to Internal Gen Tab
SOW 1 Create new branch for this project from trunk; create envir for QA/SIT/UAT
mantis: 0003680
Call it "ASN 20".