Provider Experience
How activity providers use ActivityFox to list and manage their programs, sessions, and bookings.
Provider Experience
How activity providers use ActivityFox to list and manage their programs.
Getting Started
Providers sign up through the vendor interest form at /for-providers. After approval, they access the Vendor Dashboard at /vendor using their standard ActivityFox account.
Vendor Dashboard
The vendor dashboard uses a two-panel layout:
┌──────────────────────┬───────────────────────────────┐
│ Activity Cards │ Sessions for Selected │
│ ┌──────────────┐ │ Activity │
│ │ Soccer Club │◄───│ ┌─────────────────────────┐ │
│ └──────────────┘ │ │ Term 1 Mon/Wed 3-5pm │ │
│ ┌──────────────┐ │ │ [Published] [Edit] [Del] │ │
│ │ Art Workshop │ │ └─────────────────────────┘ │
│ └──────────────┘ │ ┌─────────────────────────┐ │
│ [+ New Activity] │ │ Saturday Morning │ │
│ │ │ [Draft] [Publish] [Edit] │ │
│ │ └─────────────────────────┘ │
│ │ [+ New Session] │
└──────────────────────┴───────────────────────────────┘Left panel: All activities the provider has created. Click one to see its sessions.
Right panel: Sessions for the selected activity with status badges and action buttons.
Activity Management
An activity is the program a provider offers (e.g., "After School Soccer", "Weekend Art Workshop").
Creating an Activity
| Field | Required | Description |
|---|---|---|
| Title | Yes | Program name |
| Category | Yes | One of the 10 standard categories |
| Description | No | Program overview |
| Age Range | No | Minimum and maximum participant age |
| Location | No | Address with map pin |
| Images | No | Program photos |
Activities start in draft status. They become visible to parents only when at least one session is published.
Editing and Deleting
Editing an activity updates all associated published sessions. Deleting an activity removes all sessions, listings, calendar entries, and search index entries.
Session Management
A session is a specific scheduled offering of an activity (e.g., "Term 1 Mon/Wed 3-5pm", "Saturday Morning Group").
Creating a Session
| Field | Required | Description |
|---|---|---|
| Label | Yes | Descriptive name (e.g., "Term 1 Mon/Wed") |
| Days of Week | Yes | Which days the session runs (MO, TU, WE, etc.) |
| Start/End Date | Yes | Term date range |
| Start/End Time | Yes | Session time slot |
| Total Seats | Yes | Maximum capacity |
| Price | Yes | Session price (entered in dollars, stored in cents) |
Sessions start in draft status.
Publish Flow
Publishing a draft session triggers three actions simultaneously:
%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
participant Vendor
participant Platform as ActivityFox
participant Listing as Sharetribe<br/>Marketplace
participant Calendar as CalDAV<br/>Calendar
participant Search as Meilisearch<br/>Index
Vendor->>Platform: Click "Publish"
Platform->>Listing: Create bookable listing<br/>(stock, price, category)
Platform->>Calendar: Create recurring calendar events<br/>(matching session schedule)
Platform->>Search: Index for discovery<br/>(searchable by parents)
Platform-->>Vendor: Session now liveAfter publishing:
- Parents can find the session via search
- Parents can book and pay for the session
- The session appears on the provider's calendar
- Available seats are tracked automatically
Booking Lifecycle
%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
participant Parent
participant Platform as ActivityFox
participant Provider
Parent->>Platform: Book session for child
Platform->>Platform: Process payment
Platform->>Provider: Booking notification
Provider-->>Platform: Accept (or auto-accept)
Platform->>Parent: Booking confirmed
Platform->>Platform: Update seat availability
Platform->>Platform: Add to child's calendarWhen a booking is made:
- Payment is processed through Sharetribe
- Available seats decrease automatically
- The session is added to the child's personal calendar
- Both parent and provider receive confirmation
Session Lifecycle
| Status | Meaning |
|---|---|
| Draft | Created but not yet visible to parents |
| Published | Live — searchable, bookable, on calendar |
| Cancelled | Removed from search and bookings |
| Completed | Past end date — archived |