Creating and Managing Zones
Zones are geographic boundaries that control how vehicles operate within specific areas. This comprehensive guide covers everything you need to know about creating, editing, and managing zones in your Levy Fleets dashboard.
What Are Zones?
Zones in Levy Fleets are GeoJSON polygons that define geographic boundaries with specific rules. These zones enable powerful fleet control features:
- Ride end validation - Controlling where customers can end their rides
- Speed enforcement - Automatically limiting vehicle speed in designated areas
- Access control - Preventing vehicles from operating in restricted areas
- Incentives - Encouraging customers to park in preferred locations
- Service management - Defining operational boundaries for your fleet
Subaccount-Specific
Zones are stored per subaccount, meaning each location/city in your fleet has its own set of zones. Make sure you have the correct subaccount selected when managing zones.
Accessing the Zones Page
- Log in to your Levy Fleets dashboard
- Navigate to Zones in the left sidebar
- If you manage multiple subaccounts, ensure the correct subaccount is selected from the subaccount selector
The zones page displays an interactive map with all your configured zones, along with a panel for creating and managing zones.
Map Requirements
The zones page requires Google Maps API to be properly configured. If the map doesn't load, contact your administrator to verify the Google Maps API key is set correctly.
Understanding Zone Types
Levy Fleets supports seven types of zones, each with specific behaviors and use cases:
Parking Zone (Green)
Purpose: Designates approved areas where customers can end their rides.
| Feature | Description |
|---|---|
| Enforcement | When parking enforcement is enabled, customers must end rides within a parking zone |
| Overlap Behavior | Multiple parking zones can be created to cover your service area |
| Error Code | Customers receive not_in_parking_zone error if they try to end outside |
Common Uses:
- Designated parking areas near businesses
- Public parking lots
- Transit hubs
- Sidewalk parking zones approved by the city
No-Parking Zone (Red)
Purpose: Blocks ride endings even if the location is within a parking zone.
| Feature | Description |
|---|---|
| Priority | Takes precedence over parking zones |
| Enforcement | If a vehicle is in both a parking zone AND a no-parking zone, the ride cannot end |
| Ride Impact | Does not affect vehicle operation during a ride, only ride endings |
Common Uses:
- Fire hydrants and emergency access areas
- Construction zones
- Private property
- Loading docks
- Temporary event restrictions
No-Go Zone (Red, with enforcement)
Purpose: Completely restricts vehicle operation within the boundary.
| Feature | Description |
|---|---|
| Live Enforcement | When a vehicle enters during an active ride, the motor is automatically disabled |
| Notifications | Push notifications are sent to the rider when entering/exiting |
| Hysteresis | 15-second delay prevents false triggers at boundaries |
| Audit Trail | Creates records in ride_zone_events for compliance tracking |
Hysteresis Protection
The 15-second hysteresis means the vehicle must be inside the zone for at least 15 seconds before the motor is disabled, and outside for 15 seconds before power is restored. This prevents flickering at zone boundaries due to GPS noise.
Common Uses:
- Private property where vehicles are not allowed
- Construction sites
- Pedestrian-only plazas
- Areas with temporary restrictions (festivals, events)
Speed Limit Zone (Yellow)
Purpose: Automatically limits vehicle speed within the boundary.
| Feature | Description |
|---|---|
| Enforcement | Speed limits are enforced via IoT commands sent to the vehicle |
| Speed Calculation | Actual limit is the minimum of the zone's configured limit and the subaccount's slow-speed threshold |
| Deduplication | No repeated IoT traffic if the limit is already applied |
| Exit Behavior | Speed is restored to the vehicle model's maximum when exiting |
Common Uses:
- Pedestrian-heavy areas (downtown, parks)
- School zones
- Hospital and medical facility areas
- Residential neighborhoods
- Areas with speed limits mandated by local regulations
Charging Zone (Blue)
Purpose: Marks depot or charging station locations.
| Feature | Description |
|---|---|
| Enforcement | No automatic enforcement (informational only) |
| Purpose | Used for team workflows and fleet operations |
| Visibility | Appears in reporting and analytics |
Common Uses:
- Charging stations and docks
- Fleet storage areas
- Maintenance depots
- Swap station locations
Bonus Zone (Purple/Indigo)
Purpose: Highlights incentivized pickup/drop-off areas for gamification.
| Feature | Description |
|---|---|
| Reward Points | Configurable points for ending rides in bonus zones |
| Multiplier | Optional multiplier for loyalty point earnings |
| Preferred Parking | Can be marked as preferred parking for extra incentives |
| Analytics | Exposed in analytics and CSV exports |
Configuration Options:
- Reward Points: Points awarded for ending in this zone (e.g., 50 points)
- Multiplier: Loyalty points multiplier (e.g., 1.5x)
- Preferred Zone: Toggle to mark as a preferred parking location
Common Uses:
- Rebalancing incentive zones
- High-demand pickup locations
- Areas where you want to encourage parking
- Promotional zones during events
Service Area (Cyan/Light Blue)
Purpose: Defines the overall operational boundary for your fleet.
| Feature | Description |
|---|---|
| Coverage | Typically a large zone encompassing your entire service area |
| Auto-Creation | Created automatically for many subaccounts with a 5-mile radius |
| Alerts | Customers may receive warnings when approaching the boundary |
| Out-of-Zone | Used for out-of-zone alerts (configurable in Settings) |
Creating a New Zone
Open the Zone Creator
Click the "Add Zone" button in the top-right corner of the Zones page. The zone creation panel will appear on the left side of the screen.
Enter Zone Details
Fill in the required zone information:
Zone Name (required)
- Enter a descriptive name (e.g., "Downtown Parking P1", "City Hall No-Parking", "Main Street Slow Zone")
- Use clear naming conventions that include location and type
Zone Type (required)
- Select from: Parking Zone, No-Parking Zone, No-Go Zone, Speed Limit Zone, Charging Zone, Bonus Zone, or Service Area
Speed Limit (for Speed Limit zones only)
- Enter the maximum speed in km/h (1-80 km/h)
- Note: The actual enforced limit will be the minimum of this value and your subaccount's slow-speed threshold
Bonus Zone Settings (for Bonus zones only)
- Reward Points: Number of points to award
- Multiplier: Points multiplier (e.g., 1.0 = normal, 1.5 = 50% bonus)
- Preferred Zone: Toggle on/off
Draw the Zone Polygon
Use the map drawing tools to define your zone:
- Click the polygon drawing tool on the map (pentagon icon)
- Click on the map to place vertices (corner points) of your zone
- Minimum 3 vertices required
- Click each corner point in sequence
- To complete the polygon, click on the first vertex again (the tool auto-closes)
- The zone will appear as a colored overlay on the map
Save the Zone
Review all settings in the left panel and click "Save Zone". The zone will appear in the "Existing Zones" list and is immediately active.
Drawing Tips
- Use satellite view for accuracy (toggle in map controls)
- Zoom in for precise boundary placement
- Keep polygons simple - complex shapes increase processing time
- Snap to features - align zone boundaries to building footprints and street edges to reduce GPS drift issues
Editing Existing Zones
Viewing Zones
The "Existing Zones" section shows all zones for your subaccount:
- Click a zone row to isolate it on the map (hides other zones temporarily)
- Click "Show All Zones" to display all zones again
- Zones are color-coded by type for easy identification
Editing a Zone
- Click the pencil/edit icon on a zone row in the Existing Zones list
- The zone editor panel appears with current settings
- Modify the zone name, type, speed limit, or other settings
- To redraw the zone boundary:
- Click "Clear" to remove the current polygon
- Draw a new polygon using the drawing tools
- Click "Update Zone" to save changes
Immediate Effect
Editing a zone affects all future ride evaluations immediately. Existing rides already in a zone will be re-evaluated on next telemetry update. Consider timing edits to avoid disrupting active rides.
Deleting Zones
- Click the trash/delete icon on a zone row
- Confirm the deletion in the dialog
- The zone is soft-deleted (marked with a timestamp)
What happens when you delete a zone:
- The zone is immediately excluded from all ride validations
- Vehicles currently in a deleted speed/no-go zone will have restrictions cleared on next telemetry update
- Historical zone events remain in the database for audit purposes
- The zone can be restored by a database administrator if needed
Customizing Zone Colors
Zone colors can be customized per subaccount to match your branding or improve visibility.
Accessing Color Settings
- Go to Dashboard -> Settings
- Scroll to the Zone Colors section
- Modify hex color values for each zone type
Default Colors
| Zone Type | Default Color | Hex Code |
|---|---|---|
| Parking | Dark Green | #2C372B |
| No-Parking | Red | #FB4747 |
| No-Go | Black | #000000 |
| Speed Limit | Yellow | #FEE600 |
| Charging | Light Blue | #74C2FF |
| Bonus | Teal Green | #52C29B |
Mobile App Colors
Dashboard colors can be customized, but mobile app colors are currently hardcoded (green for parking, yellow for no-parking, red for no-go).
Importing Zones from GeoJSON
For bulk zone creation, Levy Fleets provides a GeoJSON import capability.
GeoJSON File Format
Each file should:
- Be named after the subaccount (e.g.,
Downtown_Chicago_IL.geojson) - Contain a FeatureCollection with Polygon features
- Use standard GeoJSON coordinate format
[longitude, latitude]
Example Structure:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"badges": {
"EN": "Main Street Parking"
}
},
"geometry": {
"type": "Polygon",
"coordinates": [[[lng, lat], [lng, lat], ...]]
}
}
]
}
Import Behavior
- Maps filenames to subaccount names automatically
- Skips subaccounts that already have parking zones
- Creates zones with type
parkingby default - Uses the
badges.ENproperty for zone names
Best Practices
Naming Conventions
Use consistent naming that includes:
- Location (e.g., "Downtown", "Main St", "City Park")
- Type indicator (e.g., "Parking", "Slow Zone", "No-Go")
- Identifier if multiple similar zones exist (e.g., "P1", "P2", "North", "South")
Examples:
- "Downtown Parking - Main Street"
- "City Hall Loading Dock No-Parking"
- "Pedestrian Plaza Slow Zone 15kph"
- "Private Property No-Go - 123 Oak St"
Zone Design Recommendations
-
Keep polygons simple - Complex shapes with many vertices increase mobile CPU usage and telemetry processing time
-
Use satellite view - Snap zone boundaries to building footprints and street edges to minimize GPS drift complaints
-
Account for GPS accuracy - Leave a small buffer (5-10 meters) around critical boundaries since GPS can have 5-10 meter accuracy variations
-
Avoid overlapping speed zones unnecessarily - When zones overlap, the system picks the lowest speed limit which may not be intended
-
Consider enforcement timing - No-go zones have a 15-second hysteresis; very small zones might not trigger consistently
Testing Zones
Before going live with critical zones:
- Test with a staff member's device in the actual location
- Verify the zone appears correctly on the customer mobile app
- For speed/no-go zones, confirm IoT commands are being sent (check vehicle logs)
- Review zone events in ride history to ensure proper detection
Role Permissions
Zone management requires specific user roles:
| Role | Can View | Can Create | Can Edit | Can Delete |
|---|---|---|---|---|
| Super Admin | Yes | Yes | Yes | Yes |
| Fleet Manager | Yes | Yes | Yes | Yes |
| Customer Support | Yes | No | No | No |
| Analyst | Yes | No | No | No |
| Service Technician | Yes | No | No | No |
Users with lower roles see a read-only view of zones on the map.
Partner API Access
Partners can access zone data via the Partner API for integration with external systems.
Endpoint
GET /api/partner/v1/zones
Query Parameters
| Parameter | Type | Description |
|---|---|---|
type | string | Filter by zone type: service_area, no_parking, no_ride, slow_zone, preferred_parking |
is_active | boolean | Filter by active status |
Authentication
Requires a Partner API key in the X-Partner-Api-Key header.
Rate Limits
- 60 requests per minute
- 1,000 requests per hour
- 10,000 requests per day
Troubleshooting
Map Not Loading
Symptoms: Blank area where the map should be, or "Loading map..." message persists
Solutions:
- Verify Google Maps API key is configured correctly
- Check that the API key has Maps JavaScript API enabled in Google Cloud Console
- Verify billing is active on the Google Cloud project
- Clear browser cache and refresh
Zone Not Appearing on Customer App
Symptoms: Zone created but customers don't see it
Solutions:
- Ensure the zone is saved (check Existing Zones list)
- Verify the correct subaccount is selected
- Customer app may have zone caching - wait a few minutes or have customer refresh
- Check that zone type is one that appears on customer maps (parking, no-parking, speed-limit)
Drawing Tool Not Working
Symptoms: Can't draw polygons, clicking has no effect
Solutions:
- Ensure you clicked the polygon tool (pentagon icon) first
- Check that no existing polygon is being edited (click Clear if needed)
- Try refreshing the page
- Verify you have sufficient permissions (Fleet Manager or higher)
Zone Not Enforcing
Symptoms: Speed limit or no-go zone not affecting vehicles
Solutions:
- Verify the zone type is correct (speed_limit or no_go)
- Check that the zone polygon accurately covers the intended area
- For speed zones, verify the speed_limit_kph value is set
- Confirm vehicles have IoT devices with supported protocols (Segway, OKAI, Omni, Queclink, Zimo)
- Check that IoT configuration is set up correctly in Settings
- Review server logs for zone enforcement errors
Ride End Rejected When It Shouldn't Be
Symptoms: Customers getting "not in parking zone" error in valid locations
Solutions:
- Check for overlapping no-parking zones that might be blocking
- Verify parking zone validation mode in Settings
- Ensure the parking zone polygon actually covers the location (GPS drift may place vehicle outside)
- Consider expanding parking zone boundaries slightly to account for GPS accuracy
What's Next?
- How Zones Work - Technical details on zone evaluation and enforcement
- Speed Limit Zones - Deep dive into speed zone configuration
- Quick Start Guide - Complete setup walkthrough
Zone Management
Well-configured zones are essential for safe and compliant fleet operations. Take time to plan your zone strategy, test thoroughly, and iterate based on customer feedback and operational data.