ActivityFox Dev

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

FieldRequiredDescription
TitleYesProgram name
CategoryYesOne of the 10 standard categories
DescriptionNoProgram overview
Age RangeNoMinimum and maximum participant age
LocationNoAddress with map pin
ImagesNoProgram 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

FieldRequiredDescription
LabelYesDescriptive name (e.g., "Term 1 Mon/Wed")
Days of WeekYesWhich days the session runs (MO, TU, WE, etc.)
Start/End DateYesTerm date range
Start/End TimeYesSession time slot
Total SeatsYesMaximum capacity
PriceYesSession 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 live

After 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 calendar

When a booking is made:

  1. Payment is processed through Sharetribe
  2. Available seats decrease automatically
  3. The session is added to the child's personal calendar
  4. Both parent and provider receive confirmation

Session Lifecycle

StatusMeaning
DraftCreated but not yet visible to parents
PublishedLive — searchable, bookable, on calendar
CancelledRemoved from search and bookings
CompletedPast end date — archived

On this page