Facility Route Planner
Executive Summary
Facility Route Planner is a two-pane planner for moving clients between two facility routes. A coordinator loads one route on each side, moves clients between the two routes, re-orders the stops, and saves the result back to AlayaCare. The planner shows each client's address, phone number and meals due, can optimize the stop order, draw the route on a map, add or remove visits for a client, and create the reporting documents for a route. All routes in use on the chosen service date are offered.
Key Features
- Load a service date, groups and route independently on the left and right panes
- Move selected clients, or all clients, between the two routes; re-order stops by dragging rows
- Save one route or both routes; visit start and end times in AlayaCare follow the stop order, calculated from driving times
- Optimize the stop order of a loaded route for the fastest driving time
- Show the loaded route on a map with travel time and distance
- Bulk Add, show, delete or cancel the meals-on-wheels visits of the selected client
- Create the meals-on-wheels reporting job for a loaded route, optionally optimizing first
Typical Workflow
- On each pane, choose a Service Date, optionally narrow with Groups, choose Select A Route, and click Refresh.
- Click a client (or tick several) and use the centre arrows to move clients to the other route. Drag rows to change the order within a route.
- Click Optimize on a pane to re-order its stops automatically, or Map to review the route.
- Click Save on a pane, or Save All to save both routes.
- Use Report to create the reporting documents, or Bulk Add to manage the selected client's visits.
Available Permissions
The following permissions are available to be assigned to AlayaCare Roles:
| Attribute | What It Controls |
|---|---|
| View | Open the page and plan routes |
| Delete (Mow Bulk Add) | Show Delete Selected and the delete icon in Bulk Add. This is the Delete permission of the Mow Bulk Add page. |
| Cancel (Mow Bulk Add) | Show Cancel Selected and the cancel icon in Bulk Add. This is the Cancel permission of the Mow Bulk Add page. |
Actions
| Button | Description |
|---|---|
| Move right (single arrow) | Moves the selected clients from the left route to the right route. |
| Move all right (double arrow) | Moves every client from the left route to the right route. |
| Move left (single arrow) | Moves the selected clients from the right route to the left route. |
| Move all left (double arrow) | Moves every client from the right route to the left route. |
| Save All | Validates and saves both routes to AlayaCare. |
The arrows and Save All are enabled only when a route has been loaded on both panes; the single arrows also need a selected client. The buttons on each pane are described under Route Pane.
Dialog Components
Route Pane
Each side of the planner is a route pane. A pane works on its own route until you move clients across.
| Field | Purpose |
|---|---|
| Service Date | Day to plan. Locked while a route is loaded; click Clear to change it. Changing it reloads the route list and empties Select A Route. |
| Groups | Optional multi-select. Limits Select A Route to routes in the chosen groups. The list updates when you leave the field. Locked while a route is loaded. |
| Select A Route | Routes in use on the service date, with a search box. Locked while a route is loaded. |
| Clients for Route grid | One row per stop in scheduled order, with the client's name and address. Click a row to select it; tick or ctrl-click several to select more than one. Drag rows to re-order them. |
| Total Clients | Number of stops in the pane. |
| Selected client details | When exactly one client is selected: name, address, phone number, city, province or state and postal code, followed by a list of meal types and the count of each meal due. |
| Button | Description |
|---|---|
| Refresh | Loads the route's clients from AlayaCare. If there are unsaved changes you are asked "Changes Exist. Are you sure you want to refresh the route?". |
| Clear | Empties the pane and clears the date and route (with the same unsaved-changes confirmation). |
| Map | Opens the Map dialog. Enabled after a route is loaded. |
| Report | Creates the reporting job for the route. Enabled after a route is loaded. |
| Save | Saves this route only. Appears after a route is loaded; enabled once the order has changed. |
| Optimize | Re-orders and saves this route. Appears after a route is loaded. |
| Bulk Add | Opens Bulk Add for the selected client. Appears only when exactly one client is selected. |
Warnings shown include "Please select a valid Service Date", "Please select a valid Route", and "Please select a valid route" when Save All is used before both panes are loaded.
Map
Opens from Map. Shows the route's stops in start-time order, preceded by the starting location and followed by the ending location when the route uses them, and draws the driving route in colour. Click Ok to close.
| Column | Description |
|---|---|
| Route Name | Route, with its map colour. Expand the row to list its stops. |
| Clients | Number of stops. |
| Mapped | Stops with a valid map location. |
| Skipped | Stops without a valid map location, left off the map. |
| Visit Time | Total minutes of visits on the route. |
| Travel Time | Driving minutes, filled in once the map has drawn the route. |
| KM | Driving distance, filled in once the map has drawn the route. |
Expanding a row lists each stop with its numbered marker, Start, Visit Time, and Client (name and address). Warnings: "Please select at least one route with active visits" and "Routes do not have any clients".
Run Report
Opens from Report only when the MOW Reporting settings allow users to choose the optimization setting for each report. Tick Optimize Routes to optimize the route before the report is built (it starts ticked or unticked according to Optimize Routes Default), then click Ok, or Cancel to stop. When users are not allowed to choose, the report starts straight away using the default.
Meals On Wheels Reporting
Opens after the reporting job is created. It is the same job workspace as on MOW Reporting: messages raised while the report was built, the stops on the route, the Optimization results when the route was optimized, and the print options. See MOW Reporting for the tabs and printouts. Click Close to leave. If the route was optimized, the pane refreshes so the client list matches the updated visits.
Bulk Add
Opens from Bulk Add for the selected client and the pane's service date. It lists that client's meals-on-wheels visits on the service day and lets you add, delete or cancel them. Click Ok to close. If anything was added, deleted or cancelled, the pane refreshes.
| Control | Purpose |
|---|---|
| Client | The selected client (read-only). |
| Show Visits | Reloads the client's visits (also done when the dialog opens). |
| Add | Opens Add Visits. |
| Delete Selected | Deletes the ticked visits. Shown only with the Delete permission; enabled when a visit is ticked. |
| Cancel Selected | Cancels the ticked visits. Shown only with the Cancel permission; enabled when a visit is ticked. |
Visits shown are the client's visits starting on the service day that are not cancelled and not on hold, and whose service code is a Meals On Wheels code (14 rows per page).
| Column | Description |
|---|---|
| (tick box) | Selects the visit. |
| From | Visit start in the client's time zone. |
| To | Visit end in the client's time zone. |
| Service Code | Service code. |
| Service Code Name | Service code description. |
| Service | The client's service. |
| Facility | Route the visit is on. |
| Recurring | Recurrence description when the visit repeats. |
| Manage Records | Delete and cancel icons, shown with the matching permission. They act on the ticked visits. |
Below the grid a Summary table (4 rows per page) totals the visits by meal, with Summary and Quantity columns.
Add Visits
Opens from Add. Click Save to create the visits or Cancel to close.
| Field | Purpose |
|---|---|
| Service selector | The client's active services. Choosing a service fills in its primary employee and, when it has one, its service code with a quantity of 1. Required. |
| Employee | Employee to assign. Leave empty to use the default employee. |
| Facility | Meal route for the visits, in the client's branch. Starts as the pane's route. Required. |
| Start At Date and Time | Start of the first visit, in 15-minute steps. Starts at the client's current start time on the route. Required. |
| Service Instructions | Instructions placed on the visits. |
| Create as Recurrence | Turns on the recurrence options. |
| Frequency Type | Weekly. |
| Every N Weeks | 1 or 2. |
| End Date | Last day of the recurrence (optional). |
| Su Mo Tu We Th Fr Sa | Weekdays for the recurrence. The weekday of the start date is selected automatically. |
| Split Recurrences | Shown when more than one weekday is selected. Creates one recurrence per weekday. |
| Select a Service / Qty Ordered | Five lines, shown after a service is chosen. Pick a Meals On Wheels service code that the service's funder can use, and the number of visits to create. Blank lines are ignored. |
Warnings: "Please select a service", "Please select a facility", "Please select a start date and time", "Facility cannot be used on {weekday}", "Make sure all lines have a valid service code and quantity" and "No visits to create".
Delete Visit(s)
For ticked visits that are not recurring, a confirmation ("Are you sure you want to delete the selected visits?") is shown. When at least one ticked visit is part of a recurrence, this dialog opens instead. Choose one option and click Ok, or Cancel.
| Option | Meaning |
|---|---|
| Delete only the visits selected | Deletes only the ticked visits. |
| Delete all future visits | Resets the service's future visits and deletes the recurrence. |
| Delete all future unmodified visits | Clears future visits that have not been changed and deletes the recurrence. |
Cancel Code
Opens from Cancel Selected. Choose a cancel code (codes set up for Meals On Wheels service codes) and click Ok to cancel every ticked visit with it.
Dependencies
The following tables must be configured for lookups on this view to work:
| Table | Description |
|---|---|
| Cancel Codes | Codes offered when cancelling visits in Bulk Add. |
| Diet Classifications | Diet columns and order on the reporting documents. |
| Facilities | Routes offered in each pane, with starting and ending locations, start time and depot visit time. |
| Groups | Groups used to narrow the route list (only groups that contain meal routes are offered). |
| Meal Suppliers | Supplier of each service code, for the reporting documents. Also covers its meal supplier days: each supplier's menu day, for the reporting documents. Also covers its meal supplier menu plans: diet tags that apply to each supplier's menu day. |
| Menu Types | Label content for each menu type, when used. |
| Premium Codes | Multiplier applied to visit premiums in Report. |
| Service Codes | Identifies Meals On Wheels codes, the meal name and quantity rule shown per client, and whether stop time comes from the visit or the service code. |
| Tags | Identifies diet-intolerance tags for the reporting documents. |
Processing Overviews
This section describes what happens after you confirm a processing action.
Refresh
- Reads the route's visits from AlayaCare for the service date, using the route's time zone. Cancelled visits and visits with no client are skipped.
- Groups visits into stops according to Grouping Waypoints By in the MOW Route Optimization settings (same client and address at the same start time, or same client and address at any time). Visits in a stop are aligned to the first visit's start time and the longest duration. The stop address is the service's own location when it has one, otherwise the client's home address.
- Skips visits that are on hold. For each remaining visit, works out the stop duration from the visit or from the service code (according to the code's setting; five minutes when none is available), and adds the meal for Meals On Wheels service codes (the code's multiplier, or 1 when the code uses the scheduled quantity).
- Lists the clients in start-time order, ready to move, optimize, save, map or bulk add. Clients without a valid map location are flagged and block saving.
Optimize
- Creates an optimization job for the route and service date (shown in MOW Route Optimization with the source MOW Route Planner).
- Merges stops for the same client at the same address. Clients without a map location are skipped with the warning "Address for {name} not geocoded".
- Sends the stops to the mapping service: start at the route's starting location, an end location when Use Ending Location is on, and departure at Start Time plus Depot Visit Time (Minutes). The fastest driving order is requested with traffic ignored, using each stop's duration.
- Re-orders the client list to the returned sequence and saves the original and optimized times and the travel time and distance on the job. Mapping errors are shown as messages.
- Saves the route to AlayaCare as described under Save. When Re-Check Visits After Optimization is on, reads the visits again and records a separate 12AM result, with a warning, for any still scheduled at 12:00 AM.
Save and Save All
- Checks that every client has a map location. Otherwise stops with "Client {name} does not have geolocation". Save All also needs both panes loaded and checks both before saving either.
- Calculates driving times along the current stop order with the mapping service, starting at the route's starting location when Use Starting Location is on and valid (otherwise the first client is the start), ending at the ending location when Use Ending Location is on and valid (otherwise the last client is the end), and departing at Start Time plus Depot Visit Time (Minutes).
- If any client could not be given a time, shows "At least one client could not be processed" and changes nothing.
- Updates each visit in AlayaCare: the new start is the client's arrival time, the end is five minutes later, and the visit is assigned to the route. All AlayaCare scheduling checks are overridden. Visits in a stop receive the same times. A conflict from AlayaCare is shown as "Update Visit Failed" with its message.
Map
- Reads the route's visits from AlayaCare for the service date and groups them into stops.
- Looks up each client's profile for name and map location; stops without a valid location are counted as Skipped.
- Adds the starting and ending locations when the route uses them, then plots numbered stops and draws the driving route, filling in Travel Time and KM.
Bulk Add
- Show Visits reads the client's visits for the day and each visit's service and recurrence details.
- Save on Add Visits switches AlayaCare to the client's branch, then creates one visit per quantity for each line (or recurring visits for a recurrence, using a weekly rule with the chosen weekdays, interval and end date), and switches back.
- Reloads the client's visits, and the pane refreshes when the dialog closes.
- Deleting removes selected visits, or resets or clears future visits and deletes the recurrence; cancelling cancels each selected visit with the chosen code.
Report
- Creates a meals-on-wheels reporting job for the route and service date (shown on MOW Reporting with the source MOW Route Planner) and marks it In Progress.
- When Optimize Routes is on, optimizes the route first, updating visit times in AlayaCare as in MOW Route Optimization. If the route is not ready the job is marked Cancelled.
- Reads the day's visits and builds the route-sheet data: meals, diet, intolerances, allergies, risks and delivery details.
- Marks the job Completed and opens Meals On Wheels Reporting. If the route was optimized, the pane then refreshes.