Scheduling Engine - Fixed Drop Scheduling
This guide is intended to show the requirements of running a fixed drop scheduling engine, and what processes can be used with it.
Overview
The Fixed drop scheduling engine is just one part of the whole fixed drop scheduling processes:
- Order Import with defined Run Number
- Fixed drop scheduling
- Depot Sweep processing
In summary, the process is as follows.
- Order Import with defined Run Number
- Orders are received and created with a defined Run Number
- Fixed drop scheduling
- Orders are planned onto the route specified in Run Number
- They are planned onto the drop specified against that delivery location, unless no config exists for that run/location, when they will be planned as drop 998
- If they have missed cutoff (the only validation applied to these routes), the process will attempt to carry the order forward to another valid route on that day for that location. If found, the order will be planned.
- If not found, the order will remain in an unscheduled state, and will not be automatically planned again.
- Manipulation
- The order can be manually planned.
- The order can be pushed through the fixed drop scheduling again.
- The order can be pushed to another day.
- Depot Sweep processing
- At 1900, a depot sweep process will carry forward any remaining unscheduled orders to the next schedule day, when the scheduling process will begin again immediately, attempting to schedule for the next day.
- At 2350, any incomplete desk collection orders will be moved to a trip on the following schedule day.
Configuration
Route Headers
Route headers must be created for all of the routes, specifying:
- ID and description
- Active days
- Start Time
- Cutoff Time
- End Time
- Automatically Scheduled
Ref: Fixed Routes
Route Drops
Locations must be assigned to Route Drops - if not, then the orders for that location will be planned onto the route, but will not be sequenced by drop number - they will be at the end of the trip (drop 998).
Paragon Strategic Planning
Should the Paragon Strategic Planning interface be enabled, then any newly created locations will be interfaced to the Paragon Strategic instance. This will then allow Paragon users to route fresh locations onto existing runs, create new runs, move locations around on runs and eventually set the drop numbers.
This information when confirmed will be imported back into Calidus TMS and automatically populate the route header and route drop information.
Any issues importing this information can be viewed within the Calidus Web Service Audit screen, with direction set to Paragon API. This will identify any issues processing the records.
Ref: Paragon_Interface#Strategic_Interface
CSV Upload
If required, route headers can be imported in bulk into CTMS through the configurable imports.
Ref: Imports_Details#FIXED_ROUTE
Operational
Orders
Orders must have a reference "RUN_NUMBER" specifying a valid route header.
Ref: New_Order#Add_Details_Tab
Orders may also be imported with this reference, through the Trip Order XML, through EDI or the API.
The order will be imported as unscheduled (i.e. not INVALID) if the route header specified in the reference exists (so that it can determine the start and end times for the order).
Visibility
It is recommended that Drop Number (as well as Stop Number) is added to the Planning screen, so that the generated drop numbers can be seen.
Ref: Planning#Stops_Tab
Controlling the Scheduling Engine
The scheduling engine can be automated to run and is completely under user control. Users are able to control which orders are selected by the scheduling engine (based on both Cost centre and customer) and when the scheduling runs and how often.
A cost centre parameter controls which cost centres use the scheduling engine. Multiple parameters may be created for systems with more than one cost centre.
If an order is selected for the scheduling engine, by the cost centre, there is a further level of control available to the user. Users are able to exclude certain customers from the scheduling engine. This is controlled by a flag in the customer maintenance screen.
A screen has been created to control when the scheduling screen is run. A specific user name has been created with the ability to start and stop the scheduling engine. Users will be able to access the screen to check when the engine is running.
Ref: Scheduling_Maintenance#Scheduling_Engine_Tab
The engine has been created to run several flavours of scheduling, for carrier selection and 3PL carriers. To run the scheduling rules from the fixed routes maintenance screen , users must select the Fixed Drop schedule.
Selecting start will create a database job to run the scheduling functionality. The interval will indicate how often the engine looks for Unscheduled orders and tries to apply the orders to trips. If no minutes are entered, a default value of 15 minutes is entered, to run the engine every 15 minutes.
A status is also available to indicate if the engine is Idle or running. The Audit tab will allow users to see when the engine has run and will report any errors encountered.
Fixed Drop Processing
The process will assess the order after it is created.
- The order will attempt to plan for the scheduled day.
- The order will attempt to plan onto the run number provided.
- The route will be validated:
- If the order has missed the cutoff time for the route, then the order will not be planned and will be available for carry forward on the day.
- If no route stop is set up against that location, it will be added to the trip created from that run number on that day with a drop number of 998.
- If the route number does not exist, the order will not be planned and will be available for carry forward on the day.
- If the order remains unplanned, then the process will check for any other route drops configured against that location, looking for routes that may be available later in the day.
- Each is checked (in start time sequence) and validated. If one is found, the order will be planned onto a trip generated for that route, with the drop number set to the drop number of the route drop configuration against that location.
- Failing that, the order will remain unscheduled and will be marked as requiring manual planning.
If an order is selected by the engine, but fails to find a suitable route, a flag will be set next against the order to prevent the engine from attempting and failing to schedule the order every run.
In addition if a user chooses to manually remove an order from a trip, which was applied by the engine, a Manual schedule flag is ticked against the order to prevent the engine from applying the order to the same trip again.
Users are able to manually change the values of the flag to allow an order to available to the engine, or prevent the engine from selecting an order.
Depot Sweep Processes
Several processes can be set up at a timed interval to carry forward orders from one schedule to the next. It is expected that several would be set up for:
- Carrying over incomplete desk collections at midnight.
- Carrying over unscheduled jobs at various times of the day (generally after cutoff for those jobs).
Ref: Scheduling_Engine_Overview#Depot_Sweep_Processes
Manual Manipulation
Several manipulations of orders on trips are possible, with particular reference to:
- Manual auto-scheduling reset
- Manual carry forward
- Manual change schedule
Ref:
- Planning
- Planning#Manoeuvre_Stops
- Planning#Transfer_Order(s)
- Planning#Move to Schedule
- Planning#Carry Forward
- Planning#Order Well Section - reset auto scheduling option