ASN 20 Solution

From UG

Revision as of 22:07, 6 September 2012 by Alex (Talk | contribs)
Jump to: navigation, search


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)
  • 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

Biz Requirements (Marc): After ASN 20 is deployed more shipment will require grouping. Need additional mechanism to facilitate that.

ISA (Alex):

Add one more action to Ops > Virtual Group component:

  • create GRP


FSA (Alex/AK):

See mock up below.

File:Create GRP under Virtual Group.JPG

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)

Create and consolidate TMS and ASN Admins

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:

File:PO Issued with No.JPG

Option with Yes:

File:PO Issued with Yes and browser.JPG


Flag CT feature

Requirements (Marc/Alex):

  • For Shipper and Planner roles add ability to "flag" specific records
  • enable it on Shipments List page
  • "flagged" records should stand out (different background color for example)

ISA (Alex/Kostya):

  • user should be able to select multiple records then select color and then select "Flag"
  • add filter to show only flagged records
  • add ability to un-select or change color (reasonable number of colors)
  • I think that provide 5-7 colors max
  • If too complex keep one color
  • enable this for every tab
  • similar functionality exists in MS Outlook and Apple iPhoto

FSA/UI (AG/Dev):

TBD

Merge Com and EQuery

Requirements (Marc/Simon/Alex):

  • Merge Com and E-Query and call it Com (for Client and Jag Ops role)
  • Make new Com available to Shipper and Planner roles
  • Business reasons:
    • functionality of Com and E-Query is almost identical
    • user comments are spread across two threads - one in E-Query and another in Com which is inconvenient
    • sometimes question is posted in E-Query and answer in Com which is inconvenient

Flexible Shipments List

User can define:

  • what columns are visible
  • order of columns
  • define in user profile and while browsing

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

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
  • 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 .

This is a panel that lists all existing Portals in the system.

Each portal listed with some additional information:

  • number of linked E0s
  • number of linked users that are just Shippers
  • number of linked users that are just Planners
  • number of linked users that are both Shippers and Planners

On "Add" or "Edit" system shows #Portal Profile.

See mock up below (TBD).

File:List of portals.JPG

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

In this section the following 3 parameters have to be defined:

  • Portal Name:
    • user will name it here
  • Portal Note:
    • some useful memos could be posted here to preserve knowledge for other admin users
  • Related E0s:
    • list of E0s that would be used "under this Portal"


See UI mock up below (TBD).

File:Portal General.JPG

Portal Profile: MOT Settings Section

In this section we define all desirable configurations under specific portal that relates to the following parameters:

  • MOT:
- "native" to CT2 MOTs
  • Synonym (mode) and Synonym (sub-mode)
- this combination is just a synonym for MOT
- two values define two dropdowns on ASN form
  • Transmit To:
- see also #ASN transmit
  • Link to E0:
- see explanation here: #Portal


See UI mock up below (TBD).


List:

File:Portal MOT Settings.JPG

Edit:


File:Edit mot settings for portal.JPG

Portal Profile: Approval Settings Section

Specific portal could have option to transmit all ASNs to 3PLs for transportation as they get submitted by Shippers or could provide separate layer for approval workflow:

  • option 1) All ASNs will be transmitted to 3PLs for transportation automatically
  • option 2) At least some ASNs needs to go through approval process

If option 2 is selected then additional information needs to be defined such as:

  • PO Issued By list
  • approval mode for every PO Issued By/MOT combination
- possible values: {Auto, Single, Double}
  • Air Approval and Cargo Due date settings

UI mock-up: TBD

File:Portal Planning Settings.JPG

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 #Portal Profile.

Since approval type will be Portal specific we have to move related parameters there as well - - see #Portal Profile.

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: Approval Section.

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

We have the following fields:

  • Portal:
    • 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

For every Portal defined in General section we can define the following:

  • Approval mode for every PO Issued By/MOT combination
    • By default these settings are taken from Portal profile
  • Air Approval and Cargo Due date settings
    • By default these settings are taken from Portal profile
  • Available MOT setting
    • we define can Shipper select mode at all or not
    • if Yes then we define what mode (out of defined in Portal modes) he can select

See mock up below (TBD).

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

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.

File:AR rep level 1.png

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:

File:AR lev 2.JPG

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

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
Personal tools