The care session management system supports two types of sessions:
- Impromptu Sessions - One-time, ad-hoc care sessions created on demand
- Recurring Schedules - Repeating patterns (e.g., "Mon/Wed/Fri 6am-2:30pm") that generate individual session instances
Represents a recurring care pattern (template for sessions).
Fields:
id- Unique identifiername- Descriptive name (e.g., "Regular Mon/Wed/Fri Care")recurrence- Pattern type (ONCE, WEEKLY, BIWEEKLY, MONTHLY)daysOfWeek- Array of days this schedule applies (MONDAY, WEDNESDAY, FRIDAY, etc.)startTime- Time in HH:mm format (e.g., "06:00")endTime- Time in HH:mm format (e.g., "14:30")hourlyRate- Optional default rate for sessionsisActive- Whether this schedule is currently activestartDate- When this schedule beginsendDate- Optional end date for the schedulenotes- Additional informationfamilyId- Which family this schedule belongs tochildren[]- Which children are included in this schedule
Represents an actual care session instance.
Fields:
id- Unique identifierscheduledStart- When the session is scheduled to startscheduledEnd- When the session is scheduled to endactualStart- When the session actually started (null until started)actualEnd- When the session actually ended (null until completed)status- Current status (SCHEDULED, IN_PROGRESS, COMPLETED, CANCELLED)hourlyRate- Rate for this specific sessionnotes- Session-specific notesisConfirmed- Whether this session has been confirmed by the familyfamilyId- Which family this session is forscheduleId- Optional link to the recurring schedule that generated this sessionchildren[]- Which children are attending this session
-
Family creates a schedule template:
- Choose name (e.g., "Regular Weekday Care")
- Select recurrence pattern (WEEKLY)
- Select days of week (Monday, Wednesday, Friday)
- Set time range (06:00 - 14:30)
- Set hourly rate (optional)
- Select which children
- Set start date and optional end date
-
System generates session instances:
- Schedule is created but NO sessions exist yet
- Admin/Nanny generates sessions for a date range (e.g., next 2 weeks)
- System creates individual CareSession records for each matching day
- All generated sessions start as
isConfirmed: false
-
Family confirms or cancels sessions:
- Family reviews upcoming unconfirmed sessions
- Can confirm individual sessions (sets
isConfirmed: true) - Can cancel individual sessions (sets
status: CANCELLED) - Only confirmed sessions appear in the final schedule
-
Direct session creation:
- Select family and children
- Choose specific date and time
- Set hourly rate
- Mark as confirmed immediately (optional)
- No schedule template needed
-
Session is created directly:
- Creates a CareSession with
scheduleId: null - Can be confirmed immediately or require confirmation
- Creates a CareSession with
- Generated sessions from schedules are unconfirmed by default
- Prevents auto-creating sessions the family doesn't want
- Family can review and confirm/cancel each instance
- Nanny sees which sessions are confirmed vs tentative
- Schedules can be activated/deactivated without deleting
- Editing a schedule doesn't affect already-generated sessions
- Can generate sessions weeks or months in advance
- Each session can be individually modified after generation
- SCHEDULED + unconfirmed - Generated but awaiting family confirmation
- SCHEDULED + confirmed - Confirmed and ready to happen
- IN_PROGRESS - Care session has started (actualStart recorded)
- COMPLETED - Care session finished (actualEnd recorded)
- CANCELLED - Session was cancelled
createCareSchedule- Create a new recurring schedule templateupdateCareSchedule- Modify an existing scheduledeleteCareSchedule- Remove a schedule (doesn't affect generated sessions)generateSessionsFromSchedule- Create session instances for a date range
createImpromptuSession- Create a one-time sessionupdateCareSession- Modify session detailsconfirmCareSession- Mark session as confirmedcancelCareSession- Cancel a sessionstartCareSession- Begin a session (records actual start time)completeCareSession- End a session (records actual end time)deleteCareSession- Remove a session entirely
getCareSchedules- Get all schedules for a familygetCareSchedule- Get single schedule with detailsgetCareSessions- Get all sessions for a familygetCareSession- Get single session with detailsgetUnconfirmedSessions- Get upcoming sessions needing confirmation
- Nanny creates schedule: "Mon/Wed/Fri Morning Care" (6am-2:30pm)
- Nanny generates sessions for next month
- System creates 13 session instances (roughly 3 per week × 4 weeks)
- Family receives notification of unconfirmed sessions
- Family reviews and confirms all sessions except one vacation week
- Family cancels 3 sessions during vacation
- Confirmed sessions appear on nanny's schedule
- On care days, nanny starts/completes sessions to track actual times
- Parent calls: "Can you watch Emma tomorrow 3pm-7pm?"
- Nanny creates impromptu session for tomorrow
- Selects Emma, sets 3pm-7pm, sets rate
- Marks as confirmed immediately
- Session appears on schedule
- Next day, nanny tracks actual start/end times
- Family wants to add Tuesdays to their schedule
- Nanny updates schedule to include Tuesday
- Old sessions (Mon/Wed/Fri) are unchanged
- Nanny generates new sessions from updated schedule
- New Tuesday sessions are created
- Family confirms new sessions
✅ Flexible - Supports both planned and impromptu care ✅ Family Control - Families confirm sessions before they're final ✅ No Surprises - Sessions aren't auto-billed without confirmation ✅ Easy Planning - Generate weeks/months of sessions at once ✅ Individual Control - Each session can be modified independently ✅ Accurate Tracking - Scheduled vs actual times are both recorded ✅ Tax Friendly - Complete record of all care provided with rates
- Unconfirmed Sessions widget (requires attention)
- Upcoming Confirmed Sessions calendar view
- Quick Actions: Confirm, Cancel, Request Changes
- Schedule Overview: See recurring patterns
- Today's Sessions - with start/complete buttons
- This Week's Schedule - confirmed sessions only
- Unconfirmed Sessions - pending family review
- Generate Sessions - for active schedules
- Active Schedules section
- Upcoming Sessions (next 2 weeks)
- Session History (past sessions)
- Quick links to create impromptu sessions