290935

From CTMS
Revision as of 10:33, 18 October 2012 by Middletong (talk | contribs)

Aptean Logo.png







DHL C-TMS

Create a New Scheduling Engine


FUNCTIONAL SPECIFICATION - 10.7

17/11/11 - 3.0
Reference: FS 290935 NW-8KEMH2












































FUNCTIONAL OVERVIEW

Client Requirement

It is assumed that this RIO will be managed in conjunction with the Project Rigel System Requirements Document v1.0 or higher.

Create a new scheduling engine in C-TMS to automatically schedule orders into shipments using consolidation rules and shipments onto trips based on Carrier Routes and Route Templates.

Key points to be taken into account include cut off times of trips based on departure times, % cut off based on pre-defined capacity, management of Orders, Shipments and Trips based on statuses. Manual modification flags to be introduced Orders, Shipments and Trips. Carrier selection rules to be configured and maintained, Templates to hold core scheduling rules. Trunking schedule also to be maintained in C-TMS to allow cross-dock management.


Solution

A new scheduling engine will be created to automatically assign shipments to new and existing trips based on the new wholesale schedule route templates and carrier routes setup.

The following functionality is required within the new scheduling engine within C-TMS:

  • Start / stop on demand
  • Schedule Orders into Shipments (290936/NW-8KEMAG)
  • Consolidate Shipments (290936/NW-8KEMAG)
  • Consolidate Parcels onto Pallets
  • Schedule Shipments onto Trips
  • Consolidate deliveries into Trip Stops (by post code sector)
  • Create Trips based on the Wholesale Schedule (standard HUK Transport Plan) which will be defined as Route Templates
  • Ability to manually select multiple Orders and apply to a Shipment where rules do not drive automated scheduling (290936/NW-8KEMAG)
  • Trip capacity to be governed by trailer type at Route Template level
  • Collections to be scheduled as well as deliveries
  • Trip Product compatibility (i.e. Chill) to be governed via Route Template
  • Geographical feasibility of Trip to be driven from Route Template based on (From Loc, To Loc, Postal Region to first, second, third and fourth sector level, Planning Region)
  • Capacity management at Route Template level, this is to manage the capability to add a parcel on top of a pallet even when the vehicle is 100% full based on its pallet capacity
  • Limit drop capacity percentage at route template level

The following scheduling rules are required and must be user maintainable based on access control capability:

  • Specified carrier & service level
  • Validate shipments against own fleet route templates
  • Overspill pallet shipments become unscheduled if they exceed the maximum capacity of the defined vehicle (by default largest capacity vehicle within database). This should be determined by priority of service level on the Shipment
  • Any Shipment that contains Hazardous Goods that are not being scheduled onto a Parcel Carrier Trip should not be scheduled automatically, this should be done manually by a planner
  • Include / exclude Client / Customer from automatic scheduling by Client / Customer and / or Cost Centre
  • Cost based carrier selection based on consignment, weight and service charge via Contracts
  • Carriers to be ranked by Client / Customer

The below list will form the basis of how the carrier selection engine will select and allocate carriers to orders/shipments.

  1. Customer Owner? Or Client?
  2. Product Type
  3. Geography From & To Location
  4. Service Type
  5. Timings (loading cut-off, delivery window)
  6. Resource
  7. Cost - cost per pallet, shipment, distance,
  8. Preferred ranking

Trip planning will be changed to enable multiple orders to be consolidated into a shipment and for the shipment then to be assigned to a new trip or an existing trip.

Where Orders and Shipments are allocated to a 3PL or Parcel Carrier the requirement will generally be to create a trunk leg only to the carrier’s hub location. This should be configurable by carrier as in some instances the actual radial delivery Trip will need to be created as well. These Route Templates will need to be configurable at Zone level (i.e. multiple post codes or countries grouped together) and Export work will need to be scheduled onto a specific Trip and excluded from integrated scheduling.

Where only a trunk is created there needs to be the capability to notify the carrier of any specific requirements such as Trailer Type constraints for the delivery location. This will need to be captured in any EDI interface and also output files from C-TMS.

It will be necessary to be able to hold trunking schedules within C-TMS such as the Baxter trunk schedule and any 3PL or Parcel Carrier trunk schedules so that these trips are created with the correct cut off times. Any allocation of Orders and Shipments to these carriers must adhere to the trunking schedule cut off times as well as any configured trunk vehicle capacities. These trunk legs will need to be created in any instance where the delivery or radial leg of a Trip departs from a location other than the From Location on the Order. A cross-dock order will need to be created and automatically scheduled onto the associated trunk leg. This should work for all Orders scheduled either via the new scheduling engine or via the Paragon Interface. ??

A new ‘Wholesale Schedule Maintenance’ screen will be developed within C-TMS to store the route template data for the standard HUK transport plan.

For Baxter the following process should be adopted in relation to the scheduling engine:

  • When a new Order is created validate orders against scheduling process to allocate parcel carriers.
  • If the latest delivery date is the same as the current date allocate to the carrier and map accordingly from the Delivery Method and Route Code tables. If the Trip status is less than ACCEPTED then add to the Trip otherwise create a new Trip. If the latest delivery date is later than the current date leave the Order unscheduled to be planned in Paragon.

The proposed automated scheduling engine should also consider the trunking requirements for Baxter and automatically schedule collections on trunks where applicable.

The current operational cycle is as follows:

  • Monday - Plan
  • Tuesday – Trunk stock from Baxter NDC to outbases
  • Wednesday - Carry out deliveries and collections
  • Thursday – Return stock to Baxter NDC on trunk

Based on this process the trunks could be created a day in advance to allow the scheduling of the return legs of the collections.

Scope

This change will be applied to system version 10.7.0

SET-UP

Pre-Requisites

291397- MS-8KNH8N Milk Round Processing 290936- NW-8KEMAG C-TMS Consolidation Process and Rules

Data

Insert a new record into ADM_FUNCTION(‘FN_NAME’,’DESCRIPTION’,’ACTIVE’) ‘AUTO_SCHEDULING_CONTROL’,’User allowed to control the auto scheduling process’

Implementation Advice

A super user will be required to set two cost centre parameters called ‘AUTO_SCHEDULING’ and ENGINE_RUNNING which can be set to Y or N for each cost centre. The parameter can be set in the system parameter maintenance screen. ENGINE_RUNNING should be set to ‘N’ for all cost centres.

290935 1.png

FUNCTIONAL DESCRIPTION

A new scheduling engine will be developed for Healthcare based on the automatic assignment of shipments and orders to trips using carrier routes and a fixed route template. Out of scope for this RIO development is the new development to create a consolidation engine for generating shipments, although this functionality will be integrated into the schedule engine and its processes.

Scheduling Engine Data

Location Zones

Rigel locations are grouped together as Zones. A zone may cover several postal regions, a mixture of planning and postal regions, a mixture of regions and postcodes and specific locations. A new level will be added to the Location data to store a Zone against each location record. The new field will be displayed in the Locations Maintenance screen and a new screen will be created in the Business Data Maintenance screen to allow users to define Zones and assign locations to Zones.

An example of how the new maintenance screen may look is displayed below:

290935 2.png

The user will select a zone; this will display all the locations that have been assigned to the zone. The user may enter a new record and select add to zone, to add the location type to the selected zone.

The location types available to be added to the zone are – LOCATION_ID, POSTCODE, POSTAL_REGION, PLANNING_REGION, COUNTRY. When the user selects a postal type, the system will identify all locations which match the location type and automatically update the ZONE field for each location identified.

If the user highlights a record and selects ‘Remove from Zone’, the system will select all location records which match the Location Type and clear the Zone field. The user will be able to select ‘No Zone’ to generate a CSV listing all active locations on the system which have not been assigned a Zone.

The zone field will be available as display only in the Locations maintenance screen. To change the zone on a location, users must go through the Location Zone Maintenance screen.

Cost Centre & Customers

A new cost centre parameter will allow the auto scheduling functionality to be switched on or off for a particular cost centre i.e. HUK/BAX.

Customers will be specifically included or excluded from using the scheduling engine. This will be achieved by the addition of a new flag in the Customer maintenance screen. If this is selected, the user will be excluded from the scheduling engine functionality. Users will be required to manually schedule orders for any customer excluded or for any shipments that are not automatically scheduled due to the carrier selection rules or fixed routes

290935 3.png

Scheduling Engine Process

Shipments will be created in the order well and will be assigned the status UNSCHEDULED until they are scheduled onto a trip. All orders which are consolidated into a shipment will remain in the order well but will be assigned the status SHIPMENT. Once an order has been assigned a status SHIPMENT there will be no further processing of the order as all processing will be carried out on the shipment.

All order records which are at the status UNSCHEDULED will be considered for the SCHEDULING ENGINE. This will include:

  • Parcel orders
  • Single orders
  • Shipments

Orders will be grouped together and consolidated into shipments (see RIO 290936 / NW-8KEMAG C-TMS Consolidation Process & Rules) by consolidation rules such as the same delivery location, product type and service type. Every order will become a shipment and assigned a shipment reference even if no consolidation takes place.

The scheduling engine will then plan the resulting shipment using FOUR distinct processes:

  • Mandated Carrier
  • Parcel Carriers
  • Wholesale Schedule
  • 3PL Carriers

Note that a new order in the order well will be considered for consolidation into a shipment that is already planned so long as the shipment status is ‘Open’.

Mandated Carrier

In this instance, an order is received into C-TMS with a carrier assigned. The order must be scheduled onto a trip for the mandated carrier and cannot be carried out by any other carrier. This will be the first process of the scheduling engine. If a mandated carrier is provided, the order is scheduled onto the carrier trip and the scheduling engine moves onto the next order. Note that manual intervention might be necessary to plan to an alternative carrier in exceptional circumstances operationally.

Parcel & 3PL Carriers

Carriers will be assigned a carrier type which may be Parcel or 3PL (or fleet). This will allow parcel carriers to be considered by the scheduling engine separately from 3PL carriers (and fleet).

When selecting a Parcel or 3PL carrier, there are several considerations for the scheduling engine:

Client Preferences

Customers may specify a list of carriers who they would prefer to transport their products. The carrier records will be ordered by ranking. A new table, ORG_CUSTOMER_CARRIER_PREFERENCES will be created to store the information and a new tab will be added to the Customer Maintenance screen to view and edit the information.

290935 4.png

290935 5.png

If a customer has stated a preference, the scheduling engine will identify the first carrier and consider if they are able to deliver to the schedule based on the following criteria:

  • Carrier Rules
  • Suitable Du Types
  • Suitable Route

If a carrier is unable to deliver the shipment, the system will consider the next carrier in the preference list. As a default, Own Fleet will be added to every customer as the first preferred carrier. Where the system has exhausted the list of preferred carriers, any carrier will be considered.

The Customer Maintenance screen display will be changed to show the tab pages in the following order:

  1. Params
  2. Debrief
  3. Preferences
  4. Charges
  5. Fuel Charges

Carrier Rules

Carrier rules dictate the shipment sizes, du types and product types that a carrier is able to deliver. The information will be stored in three new tables; CARRIER_RULES_SHIPMENT, CARRIER_RULES_DU_TYPE and CARRIER_RULES_PRODUCT_TYPE

290935 6.png

For a carrier to still be considered to deliver a shipment or order, the shipment Size must fall within the minimum and maximum constraints.

290935 7.png

For a carrier to still be considered, the shipment/order must be for DU TYPES stored against the carrier.

290935 8.png

For a carrier to still be considered, the shipment/order must be for PRODUCT TYPES stored against the carrier.

Carrier Routes & Services

Carriers which are still available following the carrier rules will then be checked against route and scheduling rules. The final selection choice is based on routes and services offered by the carrier.

The carrier route services table will identify which carriers are able to deliver to the schedule of the required service level. The delivery location of the shipment/order will be checked against the destination field. The Destination Type field will indicate how the check should be done. If the destination type is set to Postcode then a direct match is required, planning region will require the planning region of the delivery location to match etc. Note that each carrier route service is maintained using the DHL service level sold to customers and the equivalent carrier service code for the available carrier service. Service level will be stored on the orders in the existing DELIVERY_TYPE field which is displayed in the Additional Information tab on the orders screen.

290935 9.png

Carrier offers standard services across all sites. Once a carrier and route have been selected, the CARRIER_ROUTES table is used to establish what day and times the route runs. The route must run on the day and time required for the shipment/order. The carrier routes define the cut-off and depart times for the carrier. If the depart time is missed or a route is not available to satisfy the shipment delivery date, then the scheduling engine will then consider the next preferred carrier from the customer preference list.

290935 10.png

Each route and service will be defined from the DHL loading location warehouse.

If more than one carrier is still available for consideration, the shipment will be costed for each available carrier based on the carrier contracts held on C-TMS. The cheapest carrier will then be selected as the carrier to deliver the Shipment.

Parcel & 3PL Carrier Trips

Once a carrier has been selected, the scheduling engine will search for an existing trip set up for the carrier route and schedule that can deliver the shipment. This will be dependent upon the collection times and the trailer type capacity. If an existing trip is available, the shipment will be scheduled onto the trip.

If an existing trip is not available then a new trip will be created for the schedule. Parcel Carrier trips will be created with a prefix PCL-, 3PL carrier trips will be created with the prefix TPL-.

The trips will be created based on the ”From” and ”To” locations on the shipments, and stops will be created for each delivery location.

New fields will be added to the haulage activity record to store further information about the stop activity:

290935 11.png

In addition to the extra fields which are being populated, the planned arrive and depart times will be populated for the delivery stops based on the time constraints of the order windows.

Note that any delivery information or constraints for the attention of the carrier will be available from the order and location data, for example vehicle type due to access restrictions.

Baxter Processing

Shipments where the group name is BAX are identified as Baxter orders. Only shipments where the latest delivery date is the same as the current date should be considered for automatic scheduling with a Same Day parcel carrier.

For shipments where the latest delivery date is the current date, the carrier is selected based on the carrier rules. If a planned trip exists for the carrier, the shipment may be scheduled onto the planned trip. Where the trip is at status Accepted or above, a new trip is generated.

Shipments where the delivery date is later than the current date are excluded from the scheduling engine, to be planned by paragon. The engine will identify based on the Group name and latest delivery date whether a shipment should be considered for scheduling.

A new procedure will be created to select any SCHED_COLL Baxter shipments. Shipments at a status SCHED_COLL will be collections which have been returned to the out base. The new procedure will identify if a trunk trip is available to return the collections to the Baxter NDC and automatically schedule the shipments onto the trunk trip.

Wholesale Schedule

The existing Fixed Routes functionality will be amended to provide the Wholesale Schedule.

290935 12.png

Current functionality will allow users to define cut off times and Fill factors are each stop. A new stop type will be created called Cross dock, when a stop is defined as a cross dock stop, the Region will be populated with the relevant Zone. Users will be able to select a Zone from a list of values. The location id will be used to define the Cross dock location.

290935 13.png

Any orders which are collected at DHLCHER1 and delivered within ZONE 2 will be trunked to DHLTRAFF. A second route will be created to deliver the radial leg; users will be able to select a new stop type called Zone which will allow routes to be created to a zone.

290935 14.png

Users may create multiple stops, linking to zones and specific locations. Current functionality generates trips for every route, including all stops on the trip. Stops which are not required are removed later.

The Wholesale schedule will be processed differently, when a route is identified as being available to deliver a shipment, only the stops required for the shipment will be generated. Stops on the route which are not required will not be generated.

As part of the Wholesale schedule process, once a route has been identified, the system will check if a trip has been generated for the route and if the stops have been generated for the route. The table below shows the different checks and actions the Wholesale schedule will take:

A second route will be created to deliver the radial leg; users will be able to select a new stop type called Zone which will allow routes to be created to a zone.

290935 15.png