🔔 Notification Rules vs ⚡ Auto-Schedule Rules
The bot uses a two-level filtering system to manage rides efficiently.
🔔 Notification Rules — First Filter (Broad)
Purpose: Filter out low-quality rides and send alerts for potential opportunities
How they work:
- Apply to all rides in Search Area (Schedule Area + 5-mile buffer)
- Block obviously bad rides from being considered
- Send Telegram notifications for rides that pass
- Work 24/7, regardless of your schedule
Geographic scope: Schedule Area + 5 miles in all directions
The buffer lets you see rides slightly outside your main area that might still be worthwhile. If you consistently see good rides in the extended area, consider expanding your Schedule Area.
Best practice: Keep rules simple and broad
Example:
price >= $20
Result: Telegram notification for every ride ≥$20 within Search Area. You review and manually book if interested.
Mental model: "Show me everything that's not obviously garbage"
⚡ Auto-Schedule Rules — Second Filter (Strict)
Purpose: Automatically book rides you definitely want
How they work:
- Apply only to rides that passed notification rules
- Automatically reserve rides matching strict criteria
- Only book rides starting during your scheduled hours
- Check for scheduling conflicts with existing rides:
- Verifies sufficient time to reach pickup from previous ride (using real-time traffic)
- Verifies sufficient time to reach next ride after current one finishes
- Check 24/7 but respect your weekly schedule
Geographic scope: Schedule Area only (no buffer)
Time scope: Only auto-books rides starting during configured time slots unless the rule is enforced
Best practice: Be strict and specific
Example:
price >= $30 AND hourly_rate >= $40 AND mile_rate >= $1.5
Result: Bot automatically books qualifying rides within Schedule Area that start during your scheduled hours. You get a confirmation notification after booking.
Mental model: "Only book rides I'm 100% sure I want"
⚡ Speed Advantage: Auto-Schedule vs Manual
Auto-scheduling dramatically increases your chances of getting competitive rides.
Manual Booking Flow
- Bot detects ride
- Generates and sends Telegram notification
- You receive notification
- You read details and decide
- You click "Reserve"
- Bot processes your request
- Bot attempts to book
Total time: 5-30+ seconds (ride may be taken by another driver)
Auto-Schedule Flow
- Bot detects ride
- Checks auto-schedule rules (instant)
- Books ride immediately via optimized algorithm
- Sends confirmation
Total time: <1 second
Real-World Impact
For competitive rides (high pay, short distance, convenient location), multiple drivers compete simultaneously. Auto-scheduling provides a significant competitive advantage by:
- Eliminating human response delay (5-30 seconds saved)
- Using optimized booking algorithm
- Working 24/7 even when you're unavailable
High-value rides like $50 with $60/hr rate get claimed fast. Auto-scheduling ensures you grab them before other drivers.
How the Two-Level Filter Works
New Ride Appears
↓
[First Filter: Notification Rules]
↓
Matches Notification Rule?
├─ No → IGNORE (filtered out)
└─ Yes → Continue
↓
[Second Filter: Auto-Schedule Rules]
↓
Matches Auto-Schedule Rule?
├─ No → Check if in Search Area
│ ├─ No → IGNORE
│ └─ Yes → 📱 SEND NOTIFICATION (manual booking)
└─ Yes → Check location & time
├─ Outside Schedule Area → 📱 SEND NOTIFICATION
├─ Outside time slots (unless enforced) → 📱 SEND NOTIFICATION
└─ In Schedule Area & time slots → Check conflicts
├─ Not enough time from previous ride → 📱 SEND NOTIFICATION
├─ Not enough time to next ride → 📱 SEND NOTIFICATION
└─ No conflicts → 🟢 AUTO-BOOK + notification
Key points:
- Notification Rules = Broad first filter (removes garbage)
- Auto-Schedule Rules = Strict second filter (auto-books great rides)
- Search Area = Schedule Area + 5-mile buffer (notifications only)
- Schedule Area = Strict boundary (auto-scheduling only)
- Time slots = Only checked for auto-scheduling (unless auto-schedule rule is enforced)
Example Setup
Notification Rule (broad):
price >= $20
- Geographic: Search Area (Schedule Area + 5 miles)
- Filters rides under $20
- Notifies about everything ≥$20 in extended area
Auto-Schedule Rule (strict):
price >= $30 AND hourly_rate >= $40
- Geographic: Schedule Area only
- Time: Only during configured time slots (unless auto-schedule rule is enforced)
- Auto-books best rides from the ≥$20 set
- Leaves borderline rides for manual review
Example Scenarios
| Ride Details | Notification Filter | Auto-Schedule Filter | Result |
|---|---|---|---|
| $35, $45/hr, in Schedule Area, during hours | ✅ Pass | ✅ Pass | 🟢 Auto-booked + notification |
| $25, $38/hr, in Schedule Area, during hours | ✅ Pass | ❌ Fail (price or rate too low) | 📱 Notification - manual decision |
| $35, $45/hr, in Schedule Area, outside hours | ✅ Pass | ❌ Fail (outside time slots) | 📱 Notification - manual decision |
| $35, $45/hr, 3 miles outside Schedule Area | ✅ Pass (in buffer) | ❌ Fail (outside area) | 📱 Notification - manual decision |
| $18, $60/hr | ❌ Fail | N/A (never checked) | 🚫 Blocked - no notification |
Key Differences
| Feature | Notification Rules | Auto-Schedule Rules |
|---|---|---|
| Purpose | Remove garbage rides | Auto-book great rides |
| Geographic Scope | Search Area (Schedule Area + 5mi) | Schedule Area only |
| Time Scope | Checks all rides regardless of start time | Checks all rides but only auto-books those starting during scheduled time slots (unless enforced) |
| Strictness | Broad, permissive | Strict, specific |
| Action | Send notification | Automatically reserve |
| Applied To | All rides in Search Area | Only rides passing notification rules |
| Your Decision | Required (manual review) | Not needed (auto-booked) |
| Recommendation | Keep simple (e.g., price >= $20) | Be specific (e.g., price >= $30 AND hourly_rate >= $40) |
⚠️ Critical: Rule Processing Order
Auto-schedule rules are ONLY checked if a notification rule matches first.
This is why notification rules must be broader (less strict) than auto-schedule rules.
✅ Correct Setup
Notification Rule: price >= $20 (broader)
Auto-Schedule Rule: price >= $30 AND hourly_rate >= $40 (stricter)
What happens:
- $18 ride → ❌ Blocked (filtered by notification rule)
- $25 ride → ✅ Notification sent, ❌ not auto-scheduled
- $35 ride with $45/hr → ✅ Notification sent, ✅ auto-scheduled
❌ Incorrect Setup
Notification Rule: price >= $30 AND hourly_rate >= $40 (too strict!)
Auto-Schedule Rule: price >= $20 (broader - will NEVER trigger!)
Problem: Rides $20-$29 fail the notification rule first, so auto-schedule rule never gets checked.
Always ensure notification rules are broader than auto-schedule rules. Otherwise, auto-schedule rules won't work as expected.