intermediate
zones
parking
rewards

Parking Zone Rewards

Incentivize customers to park in designated areas by awarding loyalty points - improving fleet distribution and operations

Levy Fleets Team25 de diciembre de 20257 min read

Parking Zone Rewards

Parking zone rewards incentivize customers to park vehicles in designated areas by awarding loyalty points. This helps improve fleet distribution, reduce rebalancing costs, and create a better experience for the next rider.

Overview

When customers end their ride in a preferred parking zone, they automatically receive loyalty points as a reward. The system checks the vehicle's GPS location at ride end and awards points if it falls within a configured parking zone.

Key Features

  • Automatic point awards - Points given automatically at ride end
  • Configurable base points - Set how many points each zone awards
  • Rebalancing multiplier - Boost rewards during high-demand times
  • Custom messages - Display zone-specific messages to customers
  • Multiple zone support - Create many reward zones per location
  • Real-time GPS check - Accurate location verification at ride end

How It Works

Ride Ends
    ↓
System checks GPS location
    ↓
Is vehicle in a preferred parking zone?
    ├── Yes → Award points (base × multiplier)
    │         Update ride record
    │         Customer sees reward in app
    └── No  → No parking reward
             Normal ride completion

Creating a Reward Zone

1

Navigate to Zones

Go to Dashboard → Zones.

2

Create or Edit Zone

Click Add Zone or edit an existing parking zone.

3

Set Zone Type

Select Parking or Bonus as the zone type.

4

Draw the Zone

Use the map tool to draw the polygon boundary.

5

Configure Rewards

  • Toggle Preferred Parking on
  • Set Reward Points (e.g., 50)
  • Set Rebalancing Multiplier (e.g., 1.0 or 2.0)
  • Add optional Reward Message
6

Save Zone

Click Save to activate the zone.

Zone Configuration

Preferred Parking Toggle

Marks the zone as a reward zone.

SettingBehavior
OnZone awards points when customers park here
OffZone is informational only, no rewards

Required for Rewards

Both the toggle must be ON and reward points must be greater than 0 for the zone to award points.

Reward Points

The base number of loyalty points to award.

PointsExample Use Case
10-25Minor convenience zones
50-100Standard designated parking
100-200High-priority rebalancing areas
200+Critical zone incentives

Tips:

  • Consider your loyalty tier thresholds when setting points
  • Higher points = stronger incentive
  • Balance against time/distance points earned during rides

Rebalancing Multiplier

Dynamically boost rewards for specific zones.

MultiplierEffectUse Case
0.5xHalf pointsZone is well-stocked
1.0xNormal pointsDefault
1.5x50% bonusModerate demand
2.0xDouble pointsHigh demand
3.0xTriple pointsCritical shortage

The multiplier allows real-time adjustment of incentives based on fleet distribution needs.

Reward Message

Optional message displayed to customers when they park in the zone.

Examples:

  • "Thanks for parking at Central Station!"
  • "You earned bonus points for parking in a high-demand area!"
  • "Great choice! This location helps other riders."

If not set, a default message with the zone name is shown.

Zone Types for Rewards

Parking rewards work with these zone types:

Zone TypeSupports RewardsTypical Use
ParkingYesDesignated parking areas
BonusYesHigh-priority incentive zones
Service AreaNoOperational boundary
Speed LimitNoSafety zones
No RideNoRestricted areas

How Points Are Calculated

Points Awarded = Base Points × Rebalancing Multiplier

Example:
- Base Points: 50
- Multiplier: 2.0
- Points Awarded: 50 × 2.0 = 100 points

The calculation happens automatically when:

  1. Ride status changes to "completed"
  2. Vehicle GPS falls within a reward zone boundary
  3. Zone has is_preferred_parking = true
  4. Zone has parking_reward_points > 0

Database Schema

Zones Table (Reward Fields)

ColumnTypeDescription
is_preferred_parkingBooleanZone awards parking rewards
parking_reward_pointsIntegerBase points to award (0+)
rebalancing_multiplierDecimalPoint multiplier (0.5-5.0)
parking_reward_messageTextCustom message for customers

Rides Table (Tracking)

ColumnTypeDescription
ended_in_preferred_zoneBooleanRide ended in reward zone
parking_zone_idUUIDWhich zone was matched
parking_reward_pointsIntegerPoints actually awarded

Mobile App Display

During Ride

Customers see reward zones on the map:

  • Visual indicator for parking zones
  • Points available shown on zone
  • Current multiplier if > 1.0

At Ride End

When ending in a reward zone:

  • Confirmation message displayed
  • Points awarded shown
  • Zone-specific message (if configured)
  • Updated loyalty points balance

In Loyalty Section

  • Transaction history shows parking rewards
  • "Parked in [Zone Name]" description
  • Points awarded amount

Best Practices

Zone Placement

  1. High-traffic destinations - Transit hubs, shopping centers
  2. Charging stations - Encourage parking near chargers
  3. Safe locations - Well-lit, accessible areas
  4. Operational convenience - Easy for staff to service

Point Values

  1. Start conservative - Begin with moderate point values
  2. Monitor effectiveness - Track if customers are responding
  3. Adjust seasonally - More points in slow periods
  4. Balance budget - Consider loyalty program costs

Multiplier Strategy

  1. Real-time adjustment - Update multipliers based on fleet data
  2. Peak hour boost - Higher multipliers during rush hour
  3. Weekend incentives - Boost for underserved weekend zones
  4. Event-based - Special multipliers for local events

Troubleshooting

Points Not Being Awarded

  1. Check zone configuration:

    • is_preferred_parking must be true
    • parking_reward_points must be > 0
    • Zone type must be parking or bonus
  2. Check ride data:

    • Verify GPS coordinates at ride end
    • Confirm ride completed successfully
    • Check for overlapping zones
  3. Check zone boundaries:

    • Ensure polygon is valid GeoJSON
    • Verify zone covers intended area
    • Check for gaps in coverage

Wrong Points Awarded

  1. Verify multiplier setting - Check current rebalancing_multiplier
  2. Check for zone overlap - Multiple zones at same location
  3. Review calculation - Points = base × multiplier

Customer Not Seeing Rewards

  1. Check ride history - Verify ended_in_preferred_zone is true
  2. Check loyalty transactions - Look for "parking" type entries
  3. Verify customer account - Loyalty points should be updated

API Reference

Get Parking Zones (Mobile)

GET /api/mobile/referrals
# Response includes parking_zones array with reward info

Award Parking Reward (Internal)

import { awardParkingReward } from '@/lib/referrals'

const result = await awardParkingReward(admin, {
  customerId: 'uuid',
  rideId: 'uuid',
  zoneId: 'uuid',
  zoneName: 'Central Station',
  basePoints: 50,
  multiplier: 2.0
})
// Returns: { success: boolean, pointsAwarded: number }

Zone Data Structure

{
  "id": "uuid",
  "name": "Central Station Parking",
  "type": "parking",
  "is_preferred_parking": true,
  "parking_reward_points": 50,
  "rebalancing_multiplier": 1.5,
  "parking_reward_message": "Thanks for parking at Central Station!",
  "geojson": { /* polygon coordinates */ }
}

Improve Fleet Distribution

Parking zone rewards create a win-win: customers earn points for convenient parking choices, while your fleet stays well-distributed for the next rider. Monitor your zone analytics to optimize reward levels over time.