Routes Documentation¶
Menu Location: Settings > Routes
Access Level: Manager / Administrator
Last Updated: 2026-03-01
Overview¶
The Routes page manages delivery routes and service areas for your subscription business. Routes determine which customers can be served, what day they receive deliveries, and how orders are organized for fulfillment and driver assignments.
Primary Functions:
- Create and manage delivery routes with specific days
- Define service areas using zip codes or geofencing
- Assign delivery days to customer locations
- Configure route capacity and limits
- Link routes to drivers and delivery windows
Page Layout¶
Header Section¶
- Page Title: Routes management
- Add New Button: Create new routes
- Bulk Actions: Tools for managing multiple routes
Main Content Area¶
Routes are displayed in a sortable table showing route name, delivery day, service area details, and assigned drivers. Each route can be edited inline or through a detailed edit view.
Route Configuration¶
Individual route settings include delivery day, service area definition, capacity limits, auto-routing settings, and driver assignments.
Route Types & Configuration¶
Basic Route Settings¶
Routes are the core organizational unit for deliveries and determine what day customers receive their orders.
Key Fields:
- Name: Identifier for the route (e.g., "Monday Downtown", "Tuesday North")
- Day: Which day of the week deliveries occur (1-7 for Monday-Sunday)
- Auto Route: Whether this route is automatically assigned during signup
- Active Status: Whether route accepts new customers
Service Area Definition¶
Routes define service areas in two ways:
Zip Code Assignment (Most Common)
- Customers in specific zip codes are assigned to the route
- Managed through the Zip Codes page
- Each zip can be assigned to one route
Geofencing (Advanced)
- GPS boundaries define the service area
- Customers' addresses are checked against polygon boundaries
- Useful for complex service areas not defined by zip codes
- Requires zone_boundaries GeoJSON data in routes table
Route Day Assignments¶
How Route Days Work¶
The day field determines delivery day:
- 1 = Monday
- 2 = Tuesday
- 3 = Wednesday
- 4 = Thursday
- 5 = Friday
- 6 = Saturday
- 0 or 7 = Sunday (varies by system)
Master Day Routes¶
Each delivery day should have one "master" route named after the day (e.g., route named "Monday" for Monday deliveries). The system uses these master routes for certain automated processes.
Special Routes¶
- Pending Route: Usually ID 1, for customers without assigned route
- Shipped Route: For orders fulfilled via shipping instead of delivery
- Hold Routes: Temporary holding areas during route changes
Auto-Routing System¶
How Auto-Routing Works¶
When customers sign up, the system automatically assigns them to a route based on their address:
- Zip Code Match: System looks up zip in zip_codes table
- Route Assignment: Returns associated route ID
- Geofence Check (if enabled): Validates address is within route boundaries
- Fallback: If no match, customer goes to pending/default route
Auto-Route Flag¶
Routes with auto_route = 1 are available for automatic assignment. Routes with auto_route = 0 are manual-only (useful for special routes or areas under construction).
Route Limits & Capacity¶
Configuring Route Capacity¶
Routes can have maximum order limits to prevent overloading:
Limit Types:
- Order Count Limit: Maximum orders per delivery day
- Box Count Limit: Maximum total boxes (accounts for customers ordering multiple boxes)
- Stop Count Limit: Maximum delivery stops
- Time-Based Limits: Routes close when capacity reached
When Limits Are Reached¶
The system can:
- Prevent new signups in that zip code
- Offer alternative delivery days
- Show "Service area full" message
- Add customers to waitlist
Driver Assignment¶
Linking Routes to Drivers¶
Routes can be assigned to specific drivers for the delivery app and reports:
Assignment Methods:
- Fixed Assignment: Driver always assigned to route
- Weekly Assignment: Driver assigned per weekly cycle
- Dynamic Assignment: Driver chosen day-of-delivery
Driver Data Location:
routes_datatable stores weekly driver assignments- Links route to driver for specific weekly_cycle_id
- Used by driver report and delivery app
Common Use Cases¶
Use Case 1: Create New Route for Expansion Area¶
Goal: Add a new Tuesday route for a newly serviced neighborhood
Steps:
- Go to Settings > Routes
- Click "Add New Route"
- Enter name: "Tuesday Westside"
- Set Day: 2 (Tuesday)
- Set Auto Route: 1 (enabled)
- Set Active: Yes
- Save route
- Go to Settings > Zip Codes
- Assign relevant zip codes to the new route
- Test with a sample signup address
Example: You're expanding to serve zip code 90210. Create route "Tuesday Hills", set day = 2, then assign zip 90210 to this route in the Zip Codes page.
Use Case 2: Balance Overloaded Route¶
Goal: Split a busy route into two routes on different days
Steps:
- Identify zip codes in the overloaded route
- Create new route on less busy day
- Reassign half the zip codes to new route
- Run route restoration to move existing customers
- Communicate change to affected customers
- Monitor order counts on both routes
Tips:
- Choose zip codes geographically clustered
- Consider keeping neighborhoods together
- Update delivery day in customer emails before change
- Use route limits to prevent future overload
Use Case 3: Seasonal Route Adjustment¶
Goal: Temporarily adjust route capacity for holiday season
Steps:
- Navigate to Routes page
- Edit busy routes
- Adjust route limits upward for holiday period
- Save changes
- After holiday, restore normal limits
Tips:
- Track route performance with Driver Report
- Consider adding temporary weekend routes
- Communicate expected delivery windows to customers
Integration with Other Pages¶
Routes are connected to:
- Zip Codes Page (
admin-edit.php?table=zip_codes): Assigns zip codes to routes - Subscriptions: Customers are assigned to routes
- Orders (
cust_ordertable): Orders inherit route from subscription - Drivers: Routes assigned to drivers for delivery
- Delivery Windows: Time slots available by route
- Weekly Cycle: Routes used to batch orders by delivery day
Typical Workflow:
- Create route on Routes page
- Assign zips on Zip Codes page
- Customers sign up and auto-assigned to route
- Orders generated with route assignment
- Driver Report shows orders by route
Troubleshooting¶
Customer Not Getting Assigned to Route¶
Symptoms: Customer signup shows "outside delivery area" or goes to pending route
Solutions:
- Check zip code is in zip_codes table
- Verify zip code has route assigned
- Ensure route has auto_route = 1
- If using geofencing, verify address geocodes correctly
- Check route is active
Common Causes:
- Zip code not in system
- Typo in zip code entry
- Geofence boundaries incorrect
- Route set to manual-only
Orders Appearing on Wrong Day¶
Symptoms: Customer assigned to Tuesday route but order shows Wednesday
Check:
- Customer's current route assignment in subscriptions table
- Route's day field is correct
- No manual route overrides on order
- Weekly cycle generated correctly
If Problem Persists: May need to run route restoration function to reset customers to master day routes
Route Changes Not Reflecting¶
Symptoms: Changed route settings but customers still assigned to old route
Solutions:
- Clear APC cache (route data is cached)
- Check if changes saved (verify in database)
- Existing customers need manual route update
- New zip assignments only affect new signups
Related Pages¶
- Zip Codes (
admin-edit.php?table=zip_codes) - Assign zip codes to routes - Drivers (
admin-edit.php?table=drivers) - Manage delivery drivers - Delivery Windows (
delivery-windows.md) - Set time slots by route - Driver Report (
driver-report.php) - View orders and performance by route - Weekly Cycle (
weekly-cycle.php) - Batch orders for delivery - Subscriptions (
subscriptions.php) - View customer route assignments
Permissions & Access¶
Required Access Level: Manager or higher
Access Level Capabilities:
- Customer Service: View only, cannot edit routes
- Manager: Create and edit routes, assign zips
- Administrator: All manager capabilities + delete routes
- Kiva Admin: All features + geofencing configuration
Restricted Features:
- Delete Route: Requires Administrator
- Geofencing Setup: Requires Kiva Admin
- Route Formula Changes: Requires Kiva Admin
Best Practices¶
Route Planning¶
- Name routes clearly (include day and area)
- Keep geographic areas logical and contiguous
- Plan for future growth when setting boundaries
- Use route limits to maintain service quality
Capacity Management¶
- Monitor weekly order counts by route
- Adjust limits seasonally
- Split routes before reaching 80% capacity
- Consider driver efficiency when setting limits
Route Organization¶
- One master route per delivery day
- Special routes clearly labeled (Shipped, Pending, Hold)
- Geographic clustering for efficiency
- Balance routes across week for even workload
Things to Avoid¶
- Don't delete routes with active customers
- Don't change route days without customer notification
- Don't overlap zip codes across same-day routes
- Don't set limits too tight (allow for growth)
Quick Reference Card¶
| Task | Action/Location |
|---|---|
| Create new route | Settings > Routes > Add New |
| Assign zip to route | Settings > Zip Codes > Edit zip |
| Check route assignments | Subscriptions page, filter by route |
| View route performance | Reports > Driver Report |
| Change customer's route | Customer Info > Subscription > Edit Route |
| Enable geofencing | Requires Kiva Admin - contact support |
| Set route capacity | Edit route > Set limits |
| Balance routes | Reassign zips between routes |
FAQs¶
Can a customer have multiple routes?¶
No, each subscription is assigned to one route. However, a customer could have multiple subscriptions on different routes.
What happens when we change a zip code's route?¶
Only new customers signing up will get the new route. Existing customers keep their current route unless manually changed.
Can routes have different delivery windows?¶
Yes, delivery windows are configured separately and can be assigned per route or globally.
How does the system choose which route for a zip code?¶
If multiple routes are assigned to a zip (rare), the system returns the first match. Best practice is one route per zip code.
What is the "Pending" route?¶
A holding area for customers who signed up without a valid route assignment. Review these customers and assign proper routes.
Change Log¶
2026-03-01¶
- Initial documentation created
- Covered basic route configuration
- Documented auto-routing and geofencing
- Added integration points and workflows
End of Documentation
For additional help, contact your system administrator or Kiva Logic support.