Family Manager

Lesson 4 of 4

Schedule Coordination

Estimated time: 5 minutes

Schedule Coordination

The hardest part of family logistics isn't any single event — it's the overlapping ones. Soccer practice at 4pm, piano at 4:30, and two parents who both have meetings until 4:15. In this lesson, you'll build the pickup coordination and reminder system that prevents the "I thought YOU were getting them" disaster.

Prerequisites

    The Coordination Problem

               Monday 4:00 PM
      ┌─────────────────────────────────┐
      │  Emma: Soccer @ Westfield Park  │
      │  Jake: Math tutor @ Library     │
      │  Mom:  Meeting until 4:15       │
      │  Dad:  Meeting until 4:30       │
      │                                 │
      │  Who picks up whom?             │
      │  Who leaves their meeting early?│
      │  Does anyone carpool?           │
      └─────────────────────────────────┘
    

    Add Recurring Activities

    First, teach the bot your family's regular schedule. You can do this through config or chat.

    Adding activities via chat
    You:       Emma has soccer Monday and Wednesday 4-5:30pm at Westfield Park
    FamilyBot: Added recurring activity:
    Emma — Soccer
    Mon & Wed, 4:00-5:30 PM
    Location: Westfield Park
    Needs pickup: Yes (5:30 PM)You:       Jake has math tutoring Tuesday 4-5pm at the public library
    FamilyBot: Added recurring activity:
    Jake — Math Tutoring
    Tue, 4:00-5:00 PM
    Location: Public Library
    Needs pickup: Yes (5:00 PM)

    One-Time Events Too

    For one-off events, just say: "Emma has a birthday party Saturday 2-5pm at 123 Oak Street — needs drop-off and pickup." The bot adds it without making it recurring.

    Configure Pickup Assignments

    Set up default drivers and let the bot handle conflicts automatically.

    pickup-config.yaml
    coordination:
    default_drivers: [Mom, Dad]
    assignment_strategy: proximity  # or: alternating, fixed
    conflict_resolution: ask        # or: auto
    advance_notice: 60              # minutes before pickup
    travel_buffer: 15               # minutes for drive timeOptional: carpools with other familiescarpools:
    activity: "Soccer"
    partner_family: "The Garcias"
    contact: "+1234567800"
    pattern: alternating_weeks

    The bot assigns pickups based on who's closest to the pickup location at the right time. It checks parent calendar integrations (Google Calendar, Outlook) to estimate locations.

    Proximity assignment
    FamilyBot: [Monday 3:00 PM] Pickup assignments for today:4:00 PM — Jake from Library
    → Dad (your 3:30 meeting ends at office,
    8 min from Library)5:30 PM — Emma from Soccer
    → Mom (home by then, 12 min from Westfield Park)Reply "swap" to switch, or "confirm" to lock in.

    Set Up Smart Reminders

    Reminders go to the right person at the right time — not a blast to everyone.

    reminder-config.yaml
    reminders:
    pickup:
    trigger: 60_min_before     # "Reminder: pick up Emma at 5:30"
    target: assigned_driver
    trigger: 15_min_before     # "Leave now for Westfield Park"
    target: assigned_driver
    trigger: at_time           # "Emma should be ready now"
    target: child
    homework:
    trigger: "7:00 PM"         # Daily homework reminder
    target: children
    days: [mon, tue, wed, thu]
    message: "Homework check — anything due tomorrow?"
    bedtime:
    trigger: "8:30 PM"
    target: [Emma, Jake]
    message: "30 minutes to bedtime — start winding down!"
    Reminders in action
    [3:30 PM → Dad's DM]
    FamilyBot: Heads up — you're picking up Jake from the Library
    at 4:00 PM. Leave by 3:45 to arrive on time.[5:15 PM → Mom's DM]
    FamilyBot: Time to head out! Emma's soccer ends at 5:30 PM
    at Westfield Park. ~12 min drive.[5:30 PM → Family group]
    FamilyBot: Emma, Mom's on her way! ETA 5:42 PM.

    Handle Schedule Conflicts

    When things overlap, the bot flags it early so you can resolve it before it's a crisis.

    Conflict detection
    [Sunday evening — weekly preview]
    FamilyBot: Schedule preview for this week:⚠️ CONFLICT — Wednesday 4:00 PM
    Emma: Soccer pickup at 5:30 PM (Westfield Park)
    Jake: Dentist appointment at 4:00 PM (needs ride)
    Mom: Client call 3:30-5:00 PM
    Dad: AvailableSuggested plan:
    → Dad takes Jake to dentist at 3:45
    → Dad picks up Emma from soccer at 5:30Reply "approve" or suggest changes.Dad:       Approve
    FamilyBot: Wednesday plan locked in. Reminders set for Dad.

    Calendar Integration Required

    Conflict detection works best when parent calendars are connected. Without calendar data, the bot can only check against activities you've explicitly added — it won't know about work meetings.

    To give the bot visibility into parent schedules:

    1. In OpenClaw Dashboard > Integrations > Google Calendar
    2. Authenticate with each parent's Google account
    3. Select which calendars to share (work, personal, etc.)
    4. The bot reads events as "busy/free" — it does not see event details unless you grant full access
    CLI
    openclaw integrations add google-calendar --user Mom --read-only

    The bot only needs free/busy data to make smart pickup assignments. It never modifies your calendar.

    For urgent situations (like a flat tire on the way to pickup), configure a fallback chain:

    Emergency fallback
    emergency:
    chain: [Mom, Dad, "Grandma (555-0123)", "Garcia family (555-0456)"]
    trigger: "can't make pickup"
    message_template: |
     can't pick up  from  at .
    Can you help? Reply YES to accept.

    When a parent texts "I can't make Emma's pickup," the bot works down the chain until someone confirms.

    Calendar Integration Guide

    Full setup guide for Google Calendar, Outlook, and Apple Calendar integrations with OpenClaw.

    https://docs.openclaw.ai/integrations/calendars

    Knowledge Check

    When should the bot send the first pickup reminder to the assigned driver?

    Narwhalexpert
    0

    Advanced Message Routing Across Channels

    # Routing Like a Pro with OpenClaw Multi-channel routing is the backbone of a sophisticated AI agent infrastructure. It allows you to direct information flow based on origin, sender, and content, ens...