ASN 20 Solution
From UG
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)
- some not directly related to ASN functionality (such as merging Com and EQuery)
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.
Rapid development for ASN 2.0
We should try to take such development approach that allows for rapid first version that could change after we get additional understanding soon after (if we sell this solution). Ideally code that we write should not affect existing code that already supports ASN 1.X and CT2. Same would be true for database structure that supports existing data.
Misc Set 1
These are Non Core (Peripheral) tasks.
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 (yet) 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 except (these fields should be empty):
- username
- First / Last name
- password
- SkypeId
- birthday
- phone
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.
Post Impl Notes.
Implemented as defined in spec.
Add Create GRP action to Virtual Group
Add one more action to Ops > Virtual Group component:
- create GRP
See mock up below.
Note to Developer ---------------- On "Create GRP" load "Add shipment group" window. * List all CT numbers there. * if all CTs have same E0 and MOT then pre-fill these fields * if these CTs can't be grouped together provide Error message (try to re-use existing logic/code)
Merge Com and EQuery
- Merge Com and E-Query and call it Com (for Client and Jag Ops role)
- Make new Com available to Shipper and Planner
Flag CT feature
- enable this feature for Shipper
- have to modify it (example: CT nickname should be optional)
Flexible Shipments List
User can define:
- what columns are visible
- order of columns
- define in user profile and while browsing
Create and consolidate TMS Admin
1) Create Admin > TMS menu item
2) Move Admin > Client Application > Admin > TMS to Admin > TMS
3) Associate Trailer payload Admin with TMS:
Move Admin > Transportation > Trailer Payload panel to Admin > TMS
Create and consolidate ASN Admin
1) Create Admin > ASN menu item
2) Move Admin > Client Application > Admin > Shipper Portal to Admin > ASN
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:
Misc Set 2
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.
Truck: 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.
Truck: Add FTL and LTL options to Trucking Domestic MOT
TBD
Truck: Add Truck table to FTL shipments
TBD
ASN transmit: Admin
Need option to automatically forward approved shipment info to another company (to handle transportation instead of Jag Ops). In this version send through e-mail with ASN info in attached xls.
Admin user should be able to add ASN Transmit Option.
Each ASN Transmit Option has the following attributes:
- Name
- defined by user text; examples: Jaguar(CT2), Panalpina(3PL)
- Type
- possible values: {System, User Defined}
- System - hard coded option; for now it is only one: Jaguar(CT2)
- User Defined - user can add and define options in this admin
- possible values: {System, User Defined}
- Method
- for "Jaguar(CT2)" it should say "native/internal". In this case CT2 will internally open access to CT record to Jag Ops
- for all user defined it should provide drop down with one option: "email"
UI mock up: TBD.
Components using this:
ASN transmit: email option
One e-mail will have two attachments:
- commodity info
- utilize existing "Download to xls format" but remove totals info
- non-commodity info
- create similar format to above but list attribute/value vertically
UI mock up: TBD.
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 the 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
Add this to Admin > ASN .
See mock up below.
On "Add" or "Edit" system shows Portal Profile. See below.
Portal Profile
Portal Profile has several sections - see below.
Note to developer ----------------- I suggest that we implement UI similarly to Client Companies: a) Add/Edit results in a pop-up window. b) We utilize a mix of <tabbox/> and <groupbox/> with <caption/> to present various sections.
Portal Profile: General Settings Section
Portal Profile: MOT Settings Section
List:
Edit:
Portal Profile: PO Issued By and Approval Options Section
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.
SKU Map should be PO Issued By specific and Portal specific
Now #SKU Map should become Portal specific - see #Portal Profile.
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.
Shipper Related Functionality
New Shipper Profile
Shipper Profile General section
- Portal field
- change: used to be linked to (create ASNs for) one E0
- Shipper (T1)
- remains the same
- Shipments weight in
- remains the same
See mock up below.
Shipper Profile Portal specific section
See mock up above (tab is open for client "EA" portal).
For every E0 defined in General section we may re-define approval and other options.
By default these settings are taken from Portal profile.
Create and Submit 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" + "Sub-Mode" is a term we use for Shippers/Planners/external parties. It is equivalent to MOT.
It is defined through "MOT synonym" - see #Add Portal.
List of MOT choices is defined in Portal profile - see #Add Portal.
Ability to define order for Transport Mode and Sub Mode
There is a requirement: ability to define in what order items will appear in Transport Mode and Sub-Mode drop-downs.
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 LDP FCL you also need to add field to enter container number (it is known in this case)
- 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).
Use case: transmit ASN to Jaguar Ops
Use case: transmit ASN to Other 3PLs
Use case: transmit ASN to Planner
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 Portals (see orange label) to see shipments for particular E0.
This is due to business requirement to not mix CTs with different Portals.
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).
Use case: transmit ASN to Jaguar Ops
Use case: transmit ASN to Other 3PLs
Use case: transmit ASN to Planner
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.
ANA 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 But Not Actioned shipments Report (aka ANA 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.
ANA 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.
ANA status
ANA - approved (but not yet actioned);
CT has AR status if both conditions below are met:
- approved: CT "passed approval process" - approved by all planners involved or no approval was required
- not actioned: PU Trucker not assigned AND CTs not grouped AND Master not created AND none of Ref Num is assigned
ANA report level 2
Display (as on TDS):
- shipments with details (selected attributes)
- filters
Note that the following columns have been added in ASN 20:
- MOT
- 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.
Instead there is a label identifying Client E0 and ANA status.
See mock up below:
ANA 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
Final Tasks
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
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]
VG number feature (Optional task)
Add possibility to generate unique number associated with current VG.
Benefits:
- it works like "saved filter": by entering this number operator can quickly re-create CT list and continue working with this group
- helps in communication between operators
- helps in communication between operators and non jaguar users
- can be used in the future:
- to generate docs, in accounting docs
- each shipment leg can be associated with separate VG and hold specific to that leg values
Notes:
- see mock up below
- button "Generate" - see 1
- VG Note (hint on what type of CTs are in this group) - see 2
- Display list of generated VG numbers:
- show it under Main menu > Virtual Group > History
- display a table
- columns:
- date/time
- VG #
- who generated
- VG Note
- most recent records first
- checkbox filter: show my VG only
Statement Of Work
Tasks Summary
Assuming 3 dev: Kostya + Sasha + AK.
Suggested breakdown - see below - each line is one mantis.
Total number of tasks: ...
Ideal sequence: Misc > Prelim > Shipper > Planner > Jaguar
Misc ... Prelim ... Shipper ... Planner .... Jaguar ...
SOW 1 Create new branch for this project from trunk; create envir for QA/SIT/UAT
mantis: 0003680
Call it "ASN 20".
SOW 2 Add Clone User feature
mantis: 0003753
spec: #Add Clone User feature
SOW 3 Misc: Add Create GRP action to Virtual Group
mantis: 0003754
spec: #Add Create GRP action to Virtual Group
SOW 4 Misc: Merge Com and EQuery
mantis: 0003755
spec: #Merge Com and EQuery
SOW 5 Flag CT feature
mantis: 0003756
spec: #Flag CT feature
SOW 6 Flexible Shipments List
mantis: 0003757
spec: #Flexible Shipments List
Change Requests
CRW 1 TBD
CRW 2 TBD
Requirements not satisfied with reasons
- Req: Rename "Shipper" link on Client to "ASN Portal"
- we believe that it will confuse existing EA DOM users
- Req: On Client profile change from checkbox to Y / N radio
- do not see compelling reason to change existing approach
- Req: #Shipper can or can not choose MOT
- This can be managed through Shippers profile prohibiting Air MOT